DAY29:Array.diff


Posted by birdbirdmurmur on 2023-08-11

題目連結

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陣列裡頭找
找不到的才回傳


#javascript #Codewars #filter #includes







Related Posts

Linux小技巧暨問題集

Linux小技巧暨問題集

1731. The Number of Employees Which Report to Each Employee

1731. The Number of Employees Which Report to Each Employee

程式導師實驗計畫 Week8 作業與解答

程式導師實驗計畫 Week8 作業與解答


Comments