我使用.concat
组合了三个数组18.02.0-ce, build fc4de44
我将使用keyArr作为我的“键”来换取数组的“索引”。我正在合并我作为对象进入我的密钥的数据。另外,将奇数与偶数分开。预期产出:
keyArr = ["meat", "veggies", "fish"]
dataArr = meatArr.concat(vegArr,fishArr);
//value
dataArr = [0: "chicken", 1: "pork", 2: "lettuce", 3: "beans", 4: "shark", 5: "nemo"]
强烈建议您就如何处理此问题提出任何建议或方法。感谢
答案 0 :(得分:2)
由于每个单独的数组都有相同数量的项,因此创建数组的对象,迭代一个数组,并使用对象中的键和迭代中的索引将数组映射到新的对象数组。
不需要.concat()
数组。
var meatArr = ["chicken", "pork"],
vegArr = ["lettuce", "beans"],
fishArr = ["shark", "nemo"];
var arrays = {meat: meatArr, veggies: vegArr, fish: fishArr};
var result = meatArr.map((_, i) =>
Object.keys(arrays)
.reduce((res, key) => ({...res, [key]: arrays[key][i]}), {})
);
console.log(result);
您可能需要一个转换器,具体取决于您要定位的JS实现。