JavaScript:将多个Arrays对象合并到单个Array对象中

MAR*_*MAR -3 javascript arrays merge

我在变量中收到以下数据

let data = [
    [{option: “foo0", value: “bar0”}],
    [{option: “foo1", value: “bar1”}],
    [{option: “foo2", value: “bar2”}],
    [{option: “foo3", value: “bar3”}],
 ]
Run Code Online (Sandbox Code Playgroud)

我需要更改响应

[
    {option: “foo0", value: “bar0”},
    {option: “foo1", value: “bar1”},
    {option: “foo2", value: “bar2”},
    {option: “foo3", value: “bar3”},
]
Run Code Online (Sandbox Code Playgroud)

我怎么能在JS中做到这一点

Ori*_*ori 6

使用Array.flat()

const data = [[{"option":"foo0","value":"bar0"}],[{"option":"foo1","value":"bar1"}],[{"option":"foo2","value":"bar2"}],[{"option":"foo3","value":"bar3"}]]

const result = data.flat()

console.log(result)
Run Code Online (Sandbox Code Playgroud)

如果Array.flat()不支持,您可以通过扩展concat来展平数组:

const data = [[{"option":"foo0","value":"bar0"}],[{"option":"foo1","value":"bar1"}],[{"option":"foo2","value":"bar2"}],[{"option":"foo3","value":"bar3"}]]

const result = [].concat(...data)

console.log(result)
Run Code Online (Sandbox Code Playgroud)


xia*_*glu 5

试试这个:

let data = [
  [{
    option: "foo0",
    value: "bar0"
  }],
  [{
    option: "foo1",
    value: "bar1"
  }],
  [{
    option: "foo2",
    value: "bar2"
  }],
  [{
    option: "foo3",
    value: "bar3"
  }],
];

let result = data.map(v => v[0]);

console.log(result);
Run Code Online (Sandbox Code Playgroud)