// 模拟数据let Iclass = [{name: 'DFG', apply_phone: '131****8569'},{name: '李三', apply_phone: '150****8859'},{name: '网三', apply_phone: '176****8666'},{name: '李四', apply_phone: '131****1119'},{name: '王五', apply_phone: '135****0012'},{name: '马六', apply_phone: '187****0123'},{name: '猴七', apply_phone: '132****7877'},];let list = [{name: 'DFG', apply_phone: '131****8569'},{name: '李三', apply_phone: '150****8859'}];
说下思路:现在我们有两个数组对象格式数据,需要将两个数组合并并去重,for循环遍历一个数组,定义一个方法并调用;方法已写在下面
当Iclass循环遍历时,调用RemoveSameEvent方法,并且传入参考的数组list及Iclass数组遍历的对象Iclass[i]
RemoveSameEvent方法,判断Iclass[i].apply_phone,list数组中是否存在,不存在,返回false,push()到list数组中,list数组始终存放新的数据
MargeEvent(){for (let i = 0; i < Iclass.length; i++) {// false 不存在; 不存在push到listif (this.RemoveSameEvent(this.list, Iclass[i] ) === false) {this.list.push(Iclass[i]);}}}
// 数组是否包含该对象RemoveSameEvent(list, obj) {let bool = false; for(let a=0;a<list.length;a++){// 这里手机号作为判断依据,String()主要是为了将值转换为统一的类型,防止两个数组的存在的apply_phone类型不一致而报错或数据合并去重错误if (String(list[a].apply_phone) === String(obj.apply_phone)) {bool = true; // 存在}}// bool等于 false 代表list中不存在这条数据, bool等于true 代表list存在这条数据return bool;},