js 对比两个数组,找出不同的值,返回新的数组

js concat的应用(拼接两个或多个数组)http://www.w3school.com.cn/jsref/jsref_concat_array.asp

function diffent(fArr,cArr,field){
    let diffRes = []
    let fDatas = []
    let cDatas = []
    for(let i in fArr){
        let flg = false
        for(let j in cArr){
            if(cArr[j][field]===fArr[i][field]){
                flg = true
                break
            }
        }
        if(!flg){
            fDatas.push(fArr[i])
        }
    }
    for(let i in cArr){
        let flg = false
        for(let j in fArr){
            if(fArr[j][field]===cArr[i][field]){
                flg = true
                break
            }
        }
        if(!flg){
            cDatas.push(cArr[i])
        }
    }
    diffRes.push(...cDatas.concat(fDatas))
    return diffRes
}
 

 

转载于:https://www.cnblogs.com/dggk5163/p/9573067.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
找出两个对象数组中id不同的元素,可以使用JavaScript的一些内置方法和循环来实现。 首先,假设我们有两个对象数组arr1和arr2,每个数组包含多个对象,每个对象有一个id属性。 我们可以使用循环遍历arr1中的每个对象,并用每个对象的id属性与arr2中的每个对象的id属性进行比较。如果找到一个id不同的对象,则将该对象添加到一个数组中。 具体步骤如下: 1. 创建一个的空数组,用于存放id不同的元素。 2. 使用forEach()方法遍历arr1中的每个对象。 3. 在forEach()方法的回调函数中,使用find()方法在arr2中查找具有相同id的对象。 4. 如果find()方法返回undefined,则表示在arr2中未找到相同id的对象,将当前对象添加到数组中。 5. 最后,返回数组,其中包含id不同的元素。 以下是用代码实现上述步骤的例子: ```javascript function findDifferentElements(arr1, arr2) { let differentElements = []; arr1.forEach((obj1) => { const isDifferent = !arr2.find((obj2) => obj2.id === obj1.id); if (isDifferent) { differentElements.push(obj1); } }); return differentElements; } ``` 这样,调用`findDifferentElements(arr1, arr2)`将返回一个包含id不同的元素的数组。 请注意,以上代码假设arr1和arr2中的每个对象包含一个id属性,且具有相同的属性名称。如果属性名称不同,需要相应地修改代码中的比较条件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值