Javascript 无法创建对象数组

Javascript 无法创建对象数组,javascript,arrays,mapping,Javascript,Arrays,Mapping,我有一个包含对象数组的数组。以下是一个例子: [ [{name: Alex, number: 2}, {name: Bill, number: 3}], [{name: John, number: 5}, {name: Aston, number: 7}]] 我想创建另一个数组,其中包含上述数组的所有对象,如下所示: [{name: Alex, number: 2}, {name: Bill, number: 3}, {name: John, number: 5}, {name: Aston

我有一个包含对象数组的数组。以下是一个例子:

[ [{name: Alex, number: 2}, {name: Bill, number: 3}],  [{name: John, number: 5}, {name: Aston, number: 7}]]
我想创建另一个数组,其中包含上述数组的所有对象,如下所示:

[{name: Alex, number: 2}, {name: Bill, number: 3}, {name: John, number: 5}, {name: Aston, number: 7}] 
我写了下面的代码:

const productsInfoArray = [];
const productsRecords = customerContacts.map(i => i.products).map(product => {
  product.map(i => productsInfoArray.push(i));
  return productsInfoArray;
});

但是当我
console.log(productsRecords)
返回一个包含所有信息的数组时。问题在于此数组包含所需数组的12倍,因为customerContacts长度为12

您可以将数组展平为:

const data=[[{name:'Alex',number:2},{name:'Bill',number:3}],{name:'John',number:5},{name:'Aston',number:7}]
常量产品记录=[].concat(…数据)
console.log(产品记录)

var arrToConvert=[{name:“Alex”,编号:2},{name:“Bill”,编号:3}],{name:“John”,编号:5},{name:“Aston”,编号:7}]
var newArr=[];
对于(变量i=0;i
var data=[{name:'Alex',number:2},{name:'Bill',number:3}],{name:'John',number:5},{name:'Aston',number:7}];
var copy=[];

对于(var i=0;i如果你想使用一个更为自解释的代码,那么你可以使用传统的方法,这样将来如果你想添加更复杂的逻辑,那么你就可以很容易地修改它

var-inputArray=[{name:“Alex”,编号:2},{name:“Bill”,编号:3}],{name:“John”,编号:5},{name:“Aston”,编号:7}];
变量输出阵列=[];
//在一个或多个数组上循环
inputArray.forEach((项)=>{
//在inputArray内的每个数组上循环
项目.forEach((obj)=>{
//在新数组中推送每个单独的对象
输出阵列推力(obj);
});
});
console.log(outputArray);
var arrToConvert = [ [{name: "Alex", number: 2}, {name: "Bill", number: 3}],  [{name: "John", number: 5}, {name: "Aston", number: 7}]]
var newArr = [];


for(var i = 0; i < arrToConvert.length; i++)
{
    newArr = newArr.concat(arrToConvert[i]);
}

console.log(newArr);
var data=[[{name: 'Alex', number: 2}, {name: 'Bill', number: 3}],  [{name: 'John', number: 5}, {name: 'Aston', number: 7}]];
var copy = [];
for(var i=0;i<data.length;i++){
  copy = copy.concat(data[i]);
}
console.log(copy);