两个数组对象筛选出不同

   concat_arr(arr1, arr2) {
      let result = [];
      for (var i = 0; i < arr1.length; i++) {
        var obj = arr1[i];
        var num = obj.rowName;
        var flag = false;
        for (var j = 0; j < arr2.length; j++) {
          var aj = arr2[j];
          var n = aj.rowName;
          if (n == num) {
            flag = true;
            break;
          }
        }
        if (!flag) {
          result.push(obj);
        }
      }
      console.log(result);
 }

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
我们可以使用循环遍历对象的方法来实现对比两个对象筛选不同的字段。具体步骤如下: 1. 首先,我们需要先定义一个函数,该函数接收两个参数,即需要对比的两个对象。 2. 接着,我们需要先定义一个空数组,用于存储不同的字段。 3. 然后,我们使用循环遍历其中一个对象的所有字段,对比另一个对象是否存在该字段,并判断其值是否相等。 4. 如果存在不同的字段或者值不相等,我们将该字段名添加到空数组中。 5. 最后,返回存储不同字段名的数组。 下面是一个示例代码: ```javascript function compareObjects(obj1, obj2) { const diffFields = []; for (let prop in obj1) { if (obj1.hasOwnProperty(prop)) { if (!obj2.hasOwnProperty(prop) || obj1[prop] !== obj2[prop]) { diffFields.push(prop); } } } for (let prop in obj2) { if (obj2.hasOwnProperty(prop)) { if (!obj1.hasOwnProperty(prop)) { diffFields.push(prop); } } } return diffFields; } // 示例 const obj1 = { name: 'Tom', age: 18, gender: 'male' }; const obj2 = { name: 'Tom', age: 20, hobby: 'reading' }; console.log(compareObjects(obj1, obj2)); // ["age", "gender", "hobby"] ``` 以上代码中,我们先定义了一个名为 `compareObjects` 的函数,它接收两个参数 `obj1` 和 `obj2`,用于对比两个对象。 在函数中,我们定义了一个空数组 `diffFields`,用于存储不同的字段名。 接着,我们使用循环遍历 `obj1` 对象的所有字段,对比 `obj2` 是否存在该字段,并判断其值是否相等。如果存在不同的字段或值不相等,我们将该字段名添加到 `diffFields` 数组中。 接着,我们再使用循环遍历 `obj2` 对象的所有字段,判断是否存在于 `obj1` 对象中。如果不存在,则将该字段名添加到 `diffFields` 数组中。 最后,我们将存储不同字段名的数组返回。在示例中,我们对比了 `obj1` 和 `obj2` 两个对象,发现它们在 `age`、`gender` 和 `hobby` 这三个字段上存在不同,因此返回了 `["age", "gender", "hobby"]` 数组

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值