題目連結
https://www.codewars.com/kata/523f5d21c841566fde000009
解法
第一版
function arrayDiff(a, b) {
let result = []
for (let i=0; i<a.length; i++){
let diff = false
for (let j=0; j<b.length; j++){
if ( a[i] === b[j] ){
diff = true
break
}
}
if (!diff){
result.push(a[i])
}
}
return result
}
第二版
function arrayDiff(a, b) {
return a.filter(item => !b.includes(item));
}
筆記
第一版用雙迴圈的方式一一比對
並設一個變數diff
來控制true&false
在第二個迴圈中 加入break
確保可以先跳出來
把a[i]
加入到result裡面
第二版
快速的使用filter
篩選兩個陣列中不一樣的地方
篩選a陣列 回傳一個箭頭函式
在b陣列裡頭找
找不到的才回傳