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中做到这一点
使用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)
试试这个:
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)