700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【案例】js 数组对象去重 根据对象的一个属性去重 合并

【案例】js 数组对象去重 根据对象的一个属性去重 合并

时间:2023-04-29 16:20:44

相关推荐

【案例】js 数组对象去重 根据对象的一个属性去重 合并

// 模拟数据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;},

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。