请把俩个数组 [A1, A2, B1, B2, C1, C2, D1, D2] 和 [A, B, C, D],合并为 [A1, A2, A, B1, B2, B, C1, C2, C, D1, D2, D]
Opened this issue · 0 comments
lovelmh13 commented
let arr1 = ['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2']
let arr2 = ['A', 'B', 'C', 'D']
function concatArr (arr1, arr2) {
let arr = arr1.concat(arr2);
return arr.sort((a, b) => {
var A = a.charCodeAt(); // A1 A2 A都是只转第一个A的askii码,都是65,A会排在A1 A2后面,以此类推
var B = b.charCodeAt();
return A-B;
});
}
console.log(concatArr(arr1, arr2));
/* ---------------- 别人的方案 ---------------- */
function concat (arr1, arr2) {
let a2 = arr2.map(item => item + 3);
let a3 = [...arr1, ...a2].sort().map(item => {
if (item.includes('3')) {
return item.split('')[0]
}
return item;
});
return a3;
}
console.log(concat(arr1, arr2));