1. 程式人生 > 其它 >兩個陣列對比過濾掉重複的值

兩個陣列對比過濾掉重複的值

arrFilter(val1, val2, key1, key2) {       const val = [] // 儲存遍歷時要留下的項       const res = []       for (let len = 0; len < val1.length; len++) {         const item = val1[len]         let isExist = false         for (let j = 0; j < val2.length; j++) {           const keys = val2[j][key1 || key2]           if (item[key1 || key2] == keys) {             isExist = true             break           }         }         if (!isExist) {           val.push(item)         } else {           res.push(item)         }       }
      for (let i = 0, len = val.length; i < len; i++) {         for (let j = i + 1; j < len; j++) {             if (val[i][key1 || key2] == val[j][key1 || key2]) {                 val.splice(j, 1)                 // splice 會改變陣列長度,所以要將陣列長度 len 和下標 j 減一             }         }       }
      return { val, res }     }