Javascript 组合多个数组的同一索引的最佳方法

Javascript 组合多个数组的同一索引的最佳方法,javascript,Javascript,我有一个包含三个数组的数组,每个数组包含两个元素。我想修改它,这样我就有了两个新的数组,每个数组包含来自三个原始数组的相同索引。三个原始数组中的一个包含对象作为其元素,我想将它们展平,并且只在新数组中包含它们的值 这就是我到目前为止所做的: const结果=[ [0, 1], [{a:'a1a1a1',b:'b1b1b1'},{a:'a2a2a2',b:'b2b2b2'}], [‘零’、‘一’] ]; 让值=[]; 设num=1; 而(num>=0){ 设cardVals=results.ma

我有一个包含三个数组的数组,每个数组包含两个元素。我想修改它,这样我就有了两个新的数组,每个数组包含来自三个原始数组的相同索引。三个原始数组中的一个包含对象作为其元素,我想将它们展平,并且只在新数组中包含它们的值

这就是我到目前为止所做的:

const结果=[
[0, 1],
[{a:'a1a1a1',b:'b1b1b1'},{a:'a2a2a2',b:'b2b2b2'}],
[‘零’、‘一’]
];
让值=[];
设num=1;
而(num>=0){
设cardVals=results.map(c=>c[num]);
值。取消移位(卡德瓦尔);
num--;
};

console.log(值)您需要检查元素是否为对象。若是,则需要使用
Object.values()
来获取值数组。然后可以使用
concat()
将这些元素连接到结果的当前元素

const结果=[
[0, 1],
[{
a:‘A1A1’,
b:‘B1B1’
}, {
a:‘A2A2’,
b:‘B2B2’
}],
[‘零’、‘一’]
];
让值=[];
for(设i=0;i<2;i++){
设cardValues=[];
结果:forEach(el=>{
if(el[i]=“对象”的类型){
cardValues=cardValues.concat(Object.values(el[i]));
}否则{
cardValues.push(el[i]);
}
});
值。推送(cardValues);
}

console.log(值)您需要检查元素是否为对象。若是,则需要使用
Object.values()
来获取值数组。然后可以使用
concat()
将这些元素连接到结果的当前元素

const结果=[
[0, 1],
[{
a:‘A1A1’,
b:‘B1B1’
}, {
a:‘A2A2’,
b:‘B2B2’
}],
[‘零’、‘一’]
];
让值=[];
for(设i=0;i<2;i++){
设cardValues=[];
结果:forEach(el=>{
if(el[i]=“对象”的类型){
cardValues=cardValues.concat(Object.values(el[i]));
}否则{
cardValues.push(el[i]);
}
});
值。推送(cardValues);
}
console.log(值)这里有一个解决方案:

const results=[[0,1],
[{a:'a1a1a1',b:'b1b1b1'},{a:'a2a2a2',b:'b2b2b2'}],
[‘零’、‘一’]
];
让值=[];
结果[0]。forEach((u,i)=>{//假设所有元素都与第一个元素具有相同的维度
值。推(
results.map(result=>
typeof result[i]=“object”?object.values(result[i])://如果是对象,则获取其值
result[i]//否则,获取当前值
).flat()//展平任何对象。值()
)
});
console.log(值)这里有一个解决方案:

const results=[[0,1],
[{a:'a1a1a1',b:'b1b1b1'},{a:'a2a2a2',b:'b2b2b2'}],
[‘零’、‘一’]
];
让值=[];
结果[0]。forEach((u,i)=>{//假设所有元素都与第一个元素具有相同的维度
值。推(
results.map(result=>
typeof result[i]=“object”?object.values(result[i])://如果是对象,则获取其值
result[i]//否则,获取当前值
).flat()//展平任何对象。值()
)
});

console.log(值)
您不能使用
map()
执行此操作,因为它总是返回一个与输入元素数相同的数组。那么,执行此操作的最佳方法是什么?您不能使用
map()
执行此操作,因为它总是返回一个与输入元素数量相同的数组。那么,最好的方法是什么?考虑减少Frace/Press?@ EngReXXBOX,不确定<代码>如何减少可以简化我的代码。如果你发布了一个解决方案,你会感兴趣。考虑减少FrEACH/PASE?@ EngReXXBOX,不确定<代码>如何减少可以简化我的代码。如果你发布了解决方案,我会很感兴趣的。