javascript - 比较两个对象忽略一个键

标签 javascript

我有两个对象如下:

obj1 = {"a":"firstValue", "b":"secondValue", "c":"thirdValue157das15714daa4"} 
obj2 = {"a":"firstValue", "b":"secondValue", "c":"thirdValue1348sdfsf114sfs45fsd"}

我需要比较两个对象,忽略第三个键值对“c”。基本上比较应该返回 true 忽略 'c'

任何人都可以帮助我用 Angular 或 JavaScript 提供乐观的解决方案

提前致谢

最佳答案

简单

obj1.a == obj2.a && obj1.b == obj2.b

或者,如果 ab 将是动态的,则存储 keyToIgnore

var keyToIgnore = [ "c" ];
var isEqual = Object.keys( obj1 ).every( s => keyToIgnore.includes(s) || obj1[ s ] == obj2[ s ] );

演示

var obj1 = {
  "a": "firstValue",
  "b": "secondValue",
  "c": "thirdValue157das15714daa4"
}
var obj2 = {
  "a": "firstValue",
  "b": "secondValue",
  "c": "thirdValue1348sdfsf114sfs45fsd"
}
var keyToIgnore = [ "c" ];
var fnCompare = ( obj1, obj2 ) => Object.keys(obj1).every(s => keyToIgnore.includes(s) || obj1[s] == obj2[s]);

console.log( fnCompare( obj1, obj2 ) )

关于javascript - 比较两个对象忽略一个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48882244/

相关文章:

javascript - 通过 cdn 在 ckeditor 中禁用自动 <p> </p>

javascript - AngularJS 多资源调用,仅处理最后一个

javascript - 将图像添加到 Array.push 元素

javascript - IsAnagram,为什么是- 97? - JavaScript

Javascript/jQuery 检查字符串是否包含单词或可选单词之一的出现

javascript - Promise 的顺序执行

javascript - 在 PHP 中为 AngularJS 生成 json 数组时出现问题

javascript - ngSwitchCase 没有提供者

javascript - 如何安全地依赖存在的 Ajax 数据

javascript - Google map Api key 如何在我的 html 中工作?