如何在JavaScript中重建现有数组?

时间:2018-04-14 09:22:13

标签: javascript arrays

我有一些对象。

Conditions

我想像这样重建它:

let data = [
  {
    "categories" : [
      {
        "products" : [
          {
            "name" : "Product 1"
          }
        ],
        "id" : 1369
      }
    ]
  }
];

如果我使用.map(),我会在数组中使用object:

获取数组
let data = [
  {
    "products" : [
      {
        "name" : "Product 1"
      }
    ],
    "id" : 1369
  }
];

在这种情况下我必须采用什么解决方案?

1 个答案:

答案 0 :(得分:1)

使用Array.map()spreading展平后Array.concat()

const data = [{"categories":[{"products":[{"name":"Product 1"}],"id":1369}]}];

const result = [].concat(...data.map(o => o.categories));

console.log(result);

或者使用Array.reduce()Array.concat()

const data = [{"categories":[{"products":[{"name":"Product 1"}],"id":1369}]}];

const result = data.reduce((r, o) => r.concat(o.categories), []);

console.log(result);