1. 程式人生 > >javascript 陣列求 差集,去重

javascript 陣列求 差集,去重

function arrayRemoveRepeat (a) { // 去重
    var r = []
    for (var i = 0; i < a.length; i++) {
      let flag = true
      let temp = a[i]
      for (var j = 0; j < r.length; j++) {
        if (temp === r[j]) {
          flag = false
          break
        }
      }
      if (flag) {
        r.push(temp)
      }
    }
    return r
}
function arrayDifference (a, b) { // 差集 a - b
    var clone = a.slice(0)
    for (var i = 0; i < b.length; i++) {
      var temp = b[i]
      for (var j = 0; j < clone.length; j++) {
        if (temp === clone[j]) {
          clone.splice(j, 1)
        }
      }
    }
    return arrayRemoveRepeat(clone)
}