Lea*_*sed 5 javascript angularjs lodash
我有一个要比较的复杂JSON对象,如下所示:
$scope.new = [
  {
    "name": "Node-1",
    "isParent": true,
    "text" : [
       {
           "str" : "This is my first Node-1 string",
           "parent":[]
       },
       {
          "str" : "This is my second Node-1 string",
           "parent":[]
       }],
     "nodes": [
      {
        "name": "Node-1-1",
        "isParent": false,
         "text" : [
           {
             "str" : "This is my first Node-1-1 string",
             "parent":[]
           },
           {
             "str" : "This is my second Node-1-1 string",
             "parent":[]
           }],
           "nodes": [
           {
            "name": "Node-1-1-1",
            "isParent": false,
            "text" : [
            {
              "str" : "This is my first Node-1-1-1 string",
              "parent":[]
            },
            {
              "str" : "This is my second Node-1-1-1 string",
              "parent":[]
            }],
            "nodes": []
          }
        ]
      }
    ]
  }
]
但是在比较时我也想忽略1属性,但是当我使用Angular.js时,我看不到angular.equal在比较2对象时会忽略该属性的任何选项。
 console.log(angular.equals($scope.new,$scope.copy)); 
因此,在进行研究时,我得到了以下答案,该答案使用的是具有发出选项的lodash,但问题是我想省略创建副本,并且在lodash的情况下会降低性能。
因此,现在我正在考虑将对象转换为字符串,然后进行比较,我想那会很快,但是问题是在字符串比较时如何忽略该属性?
像这样:
var str1 = JSON.stringify(JSON.stringify($scope.new));
var str2 = JSON.stringify(JSON.stringify($scope.copy));
console.log(str1==str2);
注意:我想isParent在比较2个对象时忽略属性。
比较2个对象的最佳方法是什么?
| 归档时间: | 
 | 
| 查看次数: | 1734 次 | 
| 最近记录: |