使用lodash的isEqual()排除一些属性 [英] Exclude some properties in comparison using isEqual() of lodash

查看:129
本文介绍了使用lodash的isEqual()排除一些属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 _.isEqual 来比较2个对象数组(例如:每个对象有10个属性) ,它工作正常。

I am using _.isEqual that compares 2 array of objects (ex:10 properties each object), and it is working fine.

现在有2个属性(创建和删除),我不需要参与比较。

Now there are 2 properties (creation and deletion) that i need not to be a part of comparison.

示例:

var obj1 = {name: "James", age: 17, creation: "13-02-2016", deletion: "13-04-2016"}
var obj2 = {name: "Maria", age: 17, creation: "13-02-2016", deletion: "13-04-2016"}

// lodash method...
_.isEqual(firstArray, secondArray)


推荐答案

您可以使用省略()删除对象中的特定属性。

You can use omit() to remove specific properties in an object.

var result = _.isEqual(
  _.omit(obj1, ['creation', 'deletion']),
  _.omit(obj2, ['creation', 'deletion'])
);

var obj1 = {
  name: "James",
  age: 17,
  creation: "13-02-2016",
  deletion: "13-04-2016"
};

var obj2 = {
  name: "Maria",
  age: 17,
  creation: "13-02-2016",
  deletion: "13-04-2016"
};

var result = _.isEqual(
  _.omit(obj1, ['creation', 'deletion']),
  _.omit(obj2, ['creation', 'deletion'])
);

console.log(result);

<script src="https://cdn.jsdelivr.net/lodash/4.13.1/lodash.min.js"></script>

这篇关于使用lodash的isEqual()排除一些属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆