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;
}