首页 > 解决方案 > 从 JSON 获取特定输出到数组

问题描述

我在这里得到了一些帮助,这给了我以下代码:

const result = data.report.data.reduce((r, e) => {
  e.breakdown.forEach(el => {
    let key = "data";
    if(!r[key]) r[key] = []
    r[key].push(...el.counts)
  })
  return r;
}, {})

这给了我这个输出:

Object
data: (3) ["558045", "552531", "522877"]
__proto__: Object

但是,问题是我的图表软件需要以下内容:

["558045", "552531", "522877"]

如何调整上面的代码以实际上只给我上面的输出?我尝试简单地删除该行:

let key = "data";

但它给出了这个错误:

(index):73 Uncaught ReferenceError: key is not defined
    at e.breakdown.forEach.el ((index):73)
    at Array.forEach (<anonymous>)
    at data.report.data.reduce ((index):72)
    at Array.reduce (<anonymous>)
    at window.onload ((index):71)

标签: javascriptarraysjson

解决方案


您只需要从data对象的属性而result不是完整对象中获取数组:

result.data;

而不是返回完整的对象result;


推荐阅读