const a = ["a", "b"];
const b = [
[1, 2, 3],
[4, 5, 6],
];
// 目标结果
// const c = [
// {
// a: 1,
// b: 4,
// },
// {
// a: 2,
// b: 5,
// },
// {
// a: 3,
// b: 6,
// },
// ];
const aArray = ["a", "b", "c", "d"];
const bArray = [
[1, 2, 3, 4], // aArray[0] a
[5, 6, 7, 8], // aArray[1] b
[9, 10, 11, 12], // aArray[2] c
[13, 14, 15, 16], // aArray[3] f
];
// 目标结果
// const cArray = [
// { a: 1, b: 5, c: 9, d: 13 },
// { a: 2, b: 6, c: 10, d: 14 },
// { a: 3, b: 7, c: 11, d: 15 },
// { a: 4, b: 8, c: 12, d: 16 },
// ];
// 将aArray和bArray合并成cArray 两个数组的长度一致 且aArray的每一项都对应bArray的每一项
let cdict = {};
let alength = aArray.length; // 4
for (let index = 0; index < bArray.length; index++) {
let bInnerArray = bArray[index]; // [1,2,3] [4,5,6]
for (let j = 0; j < alength; j++) {
let bInnerItem = bInnerArray[j]; // 1 2 3
let aItem = aArray[index]; // a b c
let cItem = {
[aItem]: bInnerItem,
};
if (cdict[j]) {
cdict[j] = {
...cdict[j],
...cItem,
};
} else {
cdict[j] = { [aItem]: bInnerItem };
}
}
}
let cArray = Object.values(cdict); //转回数组
console.log("cArray", cArray);
网友评论