算法:把倆個數組 [A1, A2, B1, B2, C1, C2] 和 [A, B, C],合併 [A1, A2, A, B1, B2, B, C1, C2, C]

Array.prototype.reduce是個計算的好手:
考慮兩個數組的相似點都有相同是字母開頭,可以用雙重遍歷正則匹配插入也可以用startsWith判斷首字母;

const arr1 = ["A1", "A2", "B1", "B2", "C1", "C2"]
const arr2 = ["A", "B", "C"]
arr1.reduce((new, cur) => [...new, ...arr2.filter(item => item.startsWith(cur)), cur], [])

這個是看別人比較新奇的想法:
arr2 = arr2.map(v => `${v}3`)
[...arr1, ...arr2].sort().map(v => v.replace('3', ''))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章