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

11 篇文章 0 订阅
文章讲述了如何使用JavaScript处理两个数组对象,通过遍历和自定义方法`RemoveSameEvent`来合并这两个数组并确保没有重复的`apply_phone`值。`MargeEvent`函数遍历`Iclass`,当手机号在`list`中不存在时,将对象添加到`list`。
摘要由CSDN通过智能技术生成
// 模拟数据
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到list
     if (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;
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值