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);
一个数据结构转换问题
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、栈的概念介绍 在我们的生活中,总有这么一些例子,①食堂在堆放餐盘的时候,总是从下往上,在取餐盘的时候,又是从上...
- 前面5篇文章我们讲解了数据结构和算法的一些概述,我们应该对数据结构和算法有了一定的认识了,本篇文章将会带着大家学习...
- 堆的数据结构能够使得堆顶总是维持最大(对于大根堆)或最小(对于小根堆),给定一个数组,对这个数组进行建堆,则平均复...