【问题标题】:Javascript/node.js retrieving value from dictionary key which is in a 2d arrayJavascript/node.js 从二维数组中的字典键中检索值
【发布时间】:2018-03-22 15:11:15
【问题描述】:

我从来没有在这里问过问题,但这里是。

假设我有一个数组(名为whatever),显示时看起来像这样:

[[{name: "Joe", price: 42}],[{name: "Smith", price: 34}],[{name: "Jerry", price: 67}]]

我想做类似whatever[1].price 的事情(这在我的程序中失败了)我希望能够在任何地方获取其中一个数组并像任何[1].price 一样检索它。有什么类似于ArrayName[index].key 的方法吗?

【问题讨论】:

  • whatever[1].price ...好吧,whatever[1] 是一个数组 /// 所以 whatever[1][0].price

标签: javascript arrays node.js dictionary multidimensional-array


【解决方案1】:

首先,您的 JSON 不正确,请参阅更新的;

由于数组的内部元素是一个包含单个项目的数组,因此您可以使用 0 索引访问它。

var test =  [[{name: "Joe", price: 42}],[{name: "Smith", price: 34}],[{name: "Jerry", price: 67}]];


test.forEach(item=> {
  console.log(item[0]['price'])
});

【讨论】:

    【解决方案2】:

    为什么一个对象数组存储在另一个数组中?如果您只想实现此目的,只需删除额外的数组初始化

    我想做任何事情[1].price

    像这样更改数据:

    [{name: "Joe", price: 42}],[{name: "Smith", price: 34}],[{name: "Jerry", price: 67}]
    

    如果你不能更改数据,那么 A.T. 的解决方案就足够了

    【讨论】:

      【解决方案3】:

      好吧,根据您的响应(其中有一个包含对象数组的不必要数组),您可以访问您的数据,例如

      whatever[0][0].price
      

      更好的方法是在后端更改您的响应以获取对象数组,然后您可以像平常一样访问它

      whatever[0].price
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多