比较JavaScript对象

时间:2017-09-20 16:39:07

标签: javascript

0 : {a:" 5",b:" gg",X:" dd",Y:" dd",Z:&#34峰; dd"} 1 : {X:" dd",Y:" dd",Z:" dd"} 2 : {X:" df",Y:" dd",Z:" dd"}

我想将这些对象相互比较,以便我无法在数组中添加重复的对象。

1 个答案:

答案 0 :(得分:0)

如果我理解了给定信息的问题,可能会有两种可能的情况。

  1. 如果要基于键将一个对象添加到另一个对象(合并),而不是angular.extend,则相同的键将被后面的对象键覆盖

     let inp1 = {a: "aa", b: "bb", X: "xx", Y: "yy", Z: "zz"};
     let inp2 = {X: "xxx", Y: "yyy", Z: "zzz", W: "www"};
     let inp3 = {X: "x3", Y: "y3", Z: "z3"};
    
     angular.extend(inp1, inp2);
     console.log("inp1", inp1);
     // print {"a": "aa", "b": "bb", "X": "xxx","Y": "yyy","Z": "zzz","W": "www"}
    
  2. 如果您只是想在添加到另一个对象之前比较两个对象或(推入数组),那么您可以使用angular.equals

    进行比较
    anguar.equals(inp2,inp3) // return false