首页 > 解决方案 > 如何从嵌套对象数组中获取值

问题描述

我有来自http的这样的数据:

[{
  "mode": "CURR",
  "isin": "PLESLTN00010",
  "from": 451183,
  "to": null,
  "data": [{
    "t": 1624265539,
    "p": 5,
    "o": 5,
    "c": 5,
    "l": 5,
    "h": 5,
    "v": 2
  }]
}]

以及如何获取“c”的“数据”值?

试试这个:

const arrNcnct = ncdata.map(a => a.data).flat();

没关系。得到

[{ "t": 1624265539, "p": 5, "o": 5, "c": 5, "l": 5, "h": 5, "v": 2 }]

但无法获得“c”的价值

const c = arrNcnct.map(el => ({ current: el.c}));
console.log(Object.values(c));

返回

[{"current": 5}]

我错过了一些东西...

标签: javascriptarraysobject

解决方案


这是可以做的:

let response = [{
  "mode":"CURR", "isin":"PLESLTN00010", "from":451183, "to":null,
  "data":[{"t":1624265539, "p":5, "o":5, "c":5, "l":5, "h":5, "v":2}]
}];
        
let innerResponse = response[0].data;

innerResponse是一个数组。如果数组中只有一个元素,可以使用 访问它innerResponse[0],但如果有多个元素,则需要使用循环。

如果要访问“c”属性,请执行innerResponse[0].c


推荐阅读