微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用模板文字为对象数组中的变量赋值?

如何解决使用模板文字为对象数组中的变量赋值?

我正在尝试根据对象数组值将数据动态分配给变量。 我将展示一个简化的数据结构:

const data = [{"age":25,"name":"Michael"},{"age":20,"name":"Lara"}]
const data2 = [{"age":26,"name":"Sarah"},{"age":21,"name":"David"}]

我想给变量赋值。例如,我知道这有效:

const arr = 'data'
const zero = '0'
const a = 'age'
const test = `${data[zero][a]}`
console.log(test) // returns 25

但是我可以动态分配它吗(可能是嵌套的模板文字)?

const test = `${arr[zero][a]}`
console.log(test) // does not work,because arr is a string

const test = `${${arr}[zero][a]}`
console.log(test) // does not work

有什么办法可以做到这一点吗? 提前致谢!

编辑:
我想太多了(试图用模板文字看中)。
为了解决这个问题,多亏了 ggorlen 的输入,我改变了我的数据存储方式。这样,动态访问数据就容易多了。该解决方案与来自 Sowmen Rahman 的答案非常相似。

我太努力想以一种特定的方式解决问题,而另一种方法更明智!

解决方法

像您建议的那样,这样的事情是不可能的。字符串本身不能动态转换为变量名,但是如果您将变量存储在字典或地图对象中,则可以使用下标运算符 DELETE t1 FROM tbl_1 t1 LEFT JOIN tbl_2 t2 WHERE YEAR(t1.date1) = '2019' AND t2.id IS NULL 来完成任务。

[]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。