js判断两个数组,在第一个数组中但不存在于第二个数组中的值

方法一:

  通过 lodash 比较简单

  安装:npm i --save lodash
  引入:import * as _ from 'lodash'

  使用:

      _.difference([1, 2, 3, 5], [3, 4, 5, 6]); // => [1, 2]

 

方法二:

  let a = [1,2,3,5]

  let b = [3,4,5,6]

  let fn = () => fa.filter(item => !b.includes(item))

  console.log('哈哈:', fn(a, b))   // [1,2]
 
方法三:
  
  let a = [1,2,3]
  let b = [3,4,5,6]
  let result = []
  arrA.forEach(item => {
    if(a.includes(item) && !b.includes(item)) result.push(item)
  })
  console.log( result) // [1,2]
 
方法四:
 
  let a = [1, 2, 3];

  let b = [3, 4, 5, 6];
  let obj = {};

  b.forEach(n => obj[n] = true);

  let result = a.filter(n => !obj[n])

  console.log( result) // [1,2]

 

方法五:

  let a = [1, 2, 3];

  let b = [3, 4, 5, 6];

  let result = []

  for (let i = 0; i < a.length; i++) {
    if (b.indexOf(a[i]) == -1) {
      result.push(a[i])
    }

  }

  console.log( result) // [1,2]

 

 

posted @ 2021-06-15 15:01  搬砖的苦行僧  阅读(1102)  评论(0编辑  收藏  举报