文章 评论 浏览 30
let arr1 = ['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2'];let arr2 = ['A', 'B', 'C', 'D'];let arr3 = [];let obj = {};arr2.forEach((item) => {obj[item] = [];});arr1.forEach((item) => {arr2.forEach((it) => {if (item.indexOf(it) !== -1) {obj[it].push(item);}});});Object.keys(obj).forEach((key) => {arr3.push(obj[key]);arr3.push(key);});console.log(arr3.flat(Infinity));
@sarazhang123 可以的,如果非要说两种方法有什么区别的话,可能是前者速度会更快些……
@SilenceZeng 非常感谢指出~ 已修改~ o( ̄▽ ̄)d
that's great
文章 0 评论 0
接受
let arr1 = ['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2'];
let arr2 = ['A', 'B', 'C', 'D'];
let arr3 = [];
let obj = {};
arr2.forEach((item) => {
obj[item] = [];
});
arr1.forEach((item) => {
arr2.forEach((it) => {
if (item.indexOf(it) !== -1) {
obj[it].push(item);
}
});
});
Object.keys(obj).forEach((key) => {
arr3.push(obj[key]);
arr3.push(key);
});
console.log(arr3.flat(Infinity));
第 30 题:请把俩个数组 [A1, A2, B1, B2, C1, C2, D1, D2] 和 [A, B, C, D],合并为 [A1, A2, A, B1, B2, B, C1, C2, C, D1, D2, D]