当前位置:  开发笔记 > 编程语言 > 正文

比较两个对象中存在的属性

如何解决《比较两个对象中存在的属性》经验,为你挑选了1个好方法。

我有两个对象:

var a = {
  world: 'Mamba',
  planet: 'Oliver'
}

var b = {
  world: 'Koko'
}

如何只比较两个对象中存在的属性?在我的例子中,它将是属性"世界".



1> nem035..:

使用下划线:

您可以获取两个对象的键(使用Object.keys),对它们执行交集(使用_.intersect)并迭代它们并比较:

var keys1 = Object.keys(a);
var keys2 = Object.keys(b);

var common = _.intersection(keys1, keys2);

common.forEach(function(key) {
    if(a[key] === b[key]) { 
       // they are equal 
    }
});

DEMO

var a = {
  world: 'Mamba',
  planet: 'Oliver',
  test: 'x'
};

var b = {
  world: 'Koko',
  test: 'x'
};

var keys1 = Object.keys(a);
var keys2 = Object.keys(b);

var common = _.intersection(keys1, keys2);

var list = document.getElementById('list');
common.forEach(function(c) {
  list.innerHTML += ('
  • ' + c + '
  • '); }); common.forEach(function(key) { var elem = document.getElementById(key); if (a[key] === b[key]) { elem.innerHTML += ' [equal]'; } else { elem.innerHTML += ' [not equal]'; } });
    
    

    Common Properties

      推荐阅读
      李桂平2402851397
      这个屌丝很懒,什么也没留下!
      DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
      Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有