【发布时间】:2019-03-11 21:21:45
【问题描述】:
我有一个有点奇怪的问题, 我想知道是否可以使用字符串作为整个引用来从数组中的对象获取值。
这是我的数组:
const myArray = [
{name: 'element1', id: 'elementid1'},
{name: 'element2', id: 'elementid2'}
];
myArray[0]["name"] 返回:'element1'
是否可以将整个引用:myArray[0]["name"] 作为字符串:'myArray[0]["name"]' 并使用它来引用此值。
所以:getViaString 使用以下设置返回“element1”:
const getViaString = 'myArray[0]["name"]';
我已经设置了这个小提琴,因为它可能更好地解释了我正在尝试做的事情: jsfiddle
谢谢。
【问题讨论】:
-
eval(getViaString) -
你做的一切都是对的,但是你在你的价值周围加上了引号。就做
const getViaString = myArray[0]["name"]; -
@StevenStark 如果这些引号将被删除,它将不再是一个字符串:(
-
那么您需要其他人推荐的 eval,但这是设计应用程序的一种不好的方式,并且是一种反模式。
标签: javascript arrays string object