数组对比,取出不同的值

1、比较两个数组中的值是否相同(该方法比较不了数组中的对象)
代码如下:

const  arr1 = [11,22,33]
const  arr2 = [11,22,33]
const  result = arr1.length === arr2.length && arr1.every(a => arr2.some(b => a === b)) && arr2.every(_b => arr1.some(_a => _a === _b));

2、取两个数组中不相同的元素(针对数组中的对象)
代码如下:

let arr = []
arr1 = [{name:’wang’,age:22}]
arr2 = [{name:’wang11’,age:22}]
arr1.map(r => {
	const d = arr2.find(u => (u.name.indexOf(r.name) > -1) &&  (u.name !== r.name))
	d && arr.push(d)
})

3、比较两个数组,取不同元素的值
代码如下:

const arr1 = ['aa','bb','cc']
const arr2 = ['aa','bb']

const getInfoArr = (arr1, arr2) => {
  let arr = []
  for(let i = 0; i < arr1.length; i++){
    let obj = arr1[i];
    let isExist = false;
    for(let j = 0; j < arr2.length; j++){
      let aj = arr2[j];
        if(obj == aj){
            isExist = true;
            break;
        }
    }
    if(!isExist){
      arr.push(obj);
    }
  }
  return arr;
}

版权声明:本文为weixin_46482956原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。