2015-11-03 58 views
4

我有兩個JSON對象如何使用angularjs比較兩個json對象?

$scope.car1={"Sedan":{"Audi":["A4","A3"]},"Hatchback":{"Maruthi":["Swift"]}}; 
    $scope.car2={"Hatchback":{"Maruthi":["Swift"]},"Sedan":{"Audi":["A3","A4"]}}; 

我想這兩個對象進行比較。我嘗試下面的代碼:

var a=angular.equals($scope.car1,$scope.car2); 

由於angular.equals做一下數據的順序比較深,也不在乎。有什麼方法可以比較對象而不管命令如何?

回答

2

'對象'沒有訂單。 angular.equals將使用其鍵來比較值。

+0

但我得到的VAR假一; ! –

+0

'Sedan'鍵的值'Audi'具有不同的數組(順序在這些數組中不同)。 –

+0

從技術上講,你是對的,但是這仍然是他的問題:把兩個數組放在一起,我怎樣才能比較它們的順序less(注意:遞歸) –

1

實現自定義「遞歸均衡器」即不同如果陣列是締合或不:
爲締=>均衡密鑰, 數組=>數組排序均衡&元素。

編寫的功能myEqual()at this plunker

+0

在這種情況下,我不需要使用underscore.js。我需要純JavaScript或者angularjs。 –

+0

好吧,你可以很容易地實現另一個, 我會稍後發佈一些代碼,當我找到時間。 –

+0

好的..謝謝 –