如何解决使用模板文字为对象数组中的变量赋值?
我正在尝试根据对象数组值将数据动态分配给变量。 我将展示一个简化的数据结构:
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 举报,一经查实,本站将立刻删除。