【问题标题】:Is there a way to check and see if two objects have properties in common?有没有办法检查两个对象是否具有共同的属性?
【发布时间】:2018-07-22 08:54:09
【问题描述】:

因此,如果我有一个 JSON 文件,其中包含 n 个对象,每个对象都有 n 个属性,并且其中两个对象具有一个共同的属性,有没有办法在外部 JavaScript 文件中,检查 JSON 文件中的哪两个对象具有共同的属性。更进一步,有没有办法看看这两者之间是否有更多的共同点?我做了研究,没有发现关于这个确切主题的任何内容,只有一篇关于检查给定对象是否具有给定属性的帖子。

如果您能提供帮助,非常感谢!

【问题讨论】:

标签: javascript json node.js object


【解决方案1】:

您可以尝试object.keys() 并根据公共属性过滤数组。使用前请检查Object.keys()的浏览器兼容性。

var obj1 = {
name:'hello',
age:12,
fav: 'fav',
foo: 'foo'
}

var obj2 = {
name: 'hey',
say: 'say',
prop: 'prop',
top: 'top'
}

var common = Object.keys(obj1).filter(obj1item =>  Object.keys(obj2).indexOf(obj1item) !== -1 );

console.log(common);

Object.keys() 返回一个属性数组。我们正在比较两个数组的共同属性。

Object.keys(): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

Array.filter(): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-05
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 2015-04-19
    • 2017-06-14
    相关资源
    最近更新 更多