因此,如果我有一个其中包含n个对象的JSON文件,它们每个都具有n个属性,并且两个对象具有一个共同的属性,那么有一种方法可以在外部JavaScript文件中,检查JSON文件中的哪个两个对象具有相同的属性。更进一步,是否有办法查看这两者之间是否还有更多共同点?我进行了研究,但在这个确切的主题上却一无所获,只有一篇关于检查给定对象是否具有给定属性的文章。
非常感谢您的帮助!
答案 0 :(得分:2)
您可以尝试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