一、找出两个数组中的不同元素或对象
1、 数据
var arr1 = ["张瑞淑", "徐海涛", "谢岗岗", "薛鹏", "魏明杨", "党婷", "熊飞", "郑翠翠", "李航卫", "屈涛", "汪孝双", "代攀飞", "武志钰", "王亚龙", "周芙榕", "李涛", "郝颖", "文冲洋", "王旭拯", "胡佳豪", "寇晓丽", "马晓晗","王思聪", "张绿", "李德", "郑萍", "张凯", "张嘉成", "葛云侠", "杨磊", "任变", "景德", "高卷林", "刘益凡", "赵娜", "陈章鸣", "张荣召", "赵凯旋", "程倩倩", "脱朝平", "刘吉利", "郭苗苗", "马建峰", "潘瑞", "闫翔", "马晨", "李轩轩", "黄红梅", "刘书彬", "罗强", "刘东","王可可" ,"陈泽文", "李嘉琪", "段佳琦", "黄燕", "邱淑鸿", "宋翔宇", "王波", "樊琳", "王兆国", "许成", "李兴"];
var arr2 = ["张瑞淑", "徐海涛", "谢岗岗", "薛鹏", "魏明杨", "党婷", "熊飞", "郑翠翠", "李航卫", "屈涛", "汪孝双", "代攀飞", "武志钰", "王亚龙", "周芙榕", "李涛", "郝颖", "文冲洋", "王旭拯", "胡佳豪", "寇晓丽", "马晓晗", "张绿", "李德","郑萍", "张凯", "张嘉成", "葛云侠", "杨磊", "任变", "景德", "高卷林", "刘益凡", "赵娜", "陈章鸣", "张荣召", "赵凯旋", "程倩倩", "脱朝平", "刘吉利", "郭苗苗", "马建峰", "潘瑞", "闫翔", "马晨", "李轩轩", "黄红梅", "刘书彬", "罗强", "刘东", "陈泽文", "李嘉琪", "段佳琦", "黄燕", "邱淑鸿", "宋翔宇", "王波", "樊琳", "王兆国", "许成", "李兴"];
2、找出不同的元素
《1》方法一
function getDifferent(arr1, arr2) {
var newArr = arr1.concat(arr2);
var obj = {
};
for (var i = 0; i < newArr.length; i++) {
var chars = newArr[i];
if (obj[chars]) {
obj[chars]++;
} else {
obj[chars] = 1;
}
}
var differentArr = [];
for (k in obj) {
if (obj[k] == 1) {
differentArr.push(k);
}
}
return differentArr;
}
console.log(getDifferent(arr1, arr2));
《二》方法二
function getDifferent(arr1, arr2) {
var newArr = arr1.concat(arr2);
return newArr.filter((e, index, array) => {
return array.indexOf(e) == array.lastIndexOf(e);
});
}
console.log(getDiffent(arr1, arr2));
二、数组去重
var arr = [1, 3, 5, 7, 5, 6, 4, 7, 3, 5];
var newArr = arr.filter(function (value, index, arr) {
return arr.indexOf(value) == index; // indexOf查找元素的第一个索引值
});