Javascript 在一个数组中合并多个数组
所以,我有一个数组,一个对象的数组Javascript 在一个数组中合并多个数组,javascript,arrays,Javascript,Arrays,所以,我有一个数组,一个对象的数组 [[{id: 0, name: example1}], [{id: 1, name: example2}], [{id: 2, name: example3}]] 我要做的是合并所有这些数组,使它们看起来像这样 [{id: 0, name: example1}, {id: 1, name: example2}, {id: 2, name: example3}] 我试过使用concat,但仍然不起作用 let a=arr[0], b=arr[1], c=ar
[[{id: 0, name: example1}], [{id: 1, name: example2}], [{id: 2, name: example3}]]
我要做的是合并所有这些数组,使它们看起来像这样
[{id: 0, name: example1}, {id: 1, name: example2}, {id: 2, name: example3}]
我试过使用concat,但仍然不起作用
let a=arr[0], b=arr[1], c=arr[2]
let d = a.concat(b,c)
console.log(d)
数组仍然存在您有一个数组
let a=arr[0][0], b=arr[1][0], c=arr[2][0]
let d = [a, b, c]
console.log(d)
您的代码将使三个数组变平,如您在此处所见: const arr=[{id:0,名称:'example1'}],{id:1,名称:'example2'}],{id:2,名称:'example3'}] 设a=arr[0],b=arr[1],c=arr[2] 设d=a.concatb,c
console.logd展平阵列是正确的方法,将阵列传递给以下对象:
function flattenDeep(arr1) {
return arr1.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenDeep(val)) : acc.concat(val), []);
}
您也可以使用lodash进行此操作:
让输入=[{id:0,名称:'example1'}],{id:1,名称:'example2'}],{id:2,名称:'example3'}]
output=input.map[firstElementOfArray]=>firstElementOfArray
console.logoutputNot repeatable:这是一个更好的主意。@zerkms老实说,如果您自己提供一段工作代码(例如,初始数组),这会使它变得更容易。使用伪代码很难-问这个问题的不是我。