【问题标题】:String to access nested value from object in array [duplicate]从数组中的对象访问嵌套值的字符串[重复]
【发布时间】: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


【解决方案1】:

您可能会使用eval() - 不推荐。

const getViaString = eval("myArray[0]['name']");

【讨论】:

  • 如果不建议使用eval,在这种特定情况下还有什么其他方法?
【解决方案2】:

是的,你可以这样做

const getViaString = eval('myArray[0]["name"]');

【讨论】:

    猜你喜欢
    • 2019-10-09
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2011-09-23
    相关资源
    最近更新 更多