2016-12-13 3 views
0

現在、AngularJSは2つのオブジェクトを比較するためにangular.equals(obj1, obj2)の機能を提供していますが、3つまたは4つのオブジェクトを比較したいと思いますが、AngularJSはどの機能もサポートしていますか?AngularJSの3つのオブジェクトを比較する

+0

'=== bの&& ===のC '。私は3つの変数を比較しました。 – Tushar

+0

純粋な組み込み角度関数が必要ですか? –

+0

@Shin Sang Kiあなたは私の答えをチェックしましたか? –

答えて

0

の作業のデモ:

var myApp = angular.module('myApp',[]); 
 

 
myApp.controller('MyCtrl',function ($scope) { 
 
    var obj1 = { 
 
    key1: "value1", 
 
    key2: "value2", 
 
    key3: {a: "aa", b: "bb"} 
 
    } 
 
    var obj2 = { 
 
    key2: "value2", 
 
    key1: "value1", 
 
    key3: {a: "aa", b: "bb"} 
 
    } 
 
    var obj3 = { 
 
    key2: "value2", 
 
    key1: "value1", 
 
    key3: {a: "aa", b: "bb"} 
 
    } 
 
    $scope.object1 = obj1; 
 
    $scope.object2 = obj2; 
 
    $scope.object3 = obj3; 
 
    $scope.equals = angular.equals(obj1, obj2) && angular.equals(obj2, obj3); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="MyCtrl"> 
 
    <br/>Obj1: {{object1}} 
 
    <br/>Obj2: {{object2}} 
 
    <br/>Obj3: {{object3}} 
 
    <br/><br/>Objects are equal ? {{equals}} 
 
</div>

0
if(angular.equals(obj1, obj2) && angular.equals(obj1, obj3)){ 
//threee objects are equal 
} 
0

他にも、(オブジェクトを比較するために速くて汚い方法が必要な場合)、オブジェクトを文字列に変換して定期的なJavaScriptの比較を行うことです。

var object1 = { 
    test1: "aaa", 
    test2: "bbb", 
    test3: function() { 
     return "cccc"; 
    } 
} 

var object2 = { 
    test1: "aaa", 
    test2: "bbb", 
    test3: function() { 
     return "cccc"; 
    } 
} 

var object3 = { 
    test1: "aaa", 
    test3: function() { 
     return "cccc"; 
    } 
} 

var isEqual1 = (JSON.stringify(object1) === JSON.stringify(object2)); 
var isEqual2 = (JSON.stringify(object2) === JSON.stringify(object3)); 
var isEqual3 = (JSON.stringify(object1) === JSON.stringify(object3)); 

console.log(isEqual1, isEqual2, isEqual3); // logs true false false 
関連する問題