2014-10-08 116 views
0

我有角過濾過兩個對象

$scope.data_1 = {"a":5,"b":6,"c":7,'d':1}; 
    $scope.data_2 = {"a":6,"b":3,"c":2,'d':10}; 

我如何值的對象內比較清晰的兩個對象..

.filter('getMax', function(){ 
return function (data) { 
    return Math.max.apply(Math, 
        Object.keys(data).map(function(key){ 
        return data[key] 
        })); 
}; 

})

但我怎麼能比較兩個對象以突出顯示每個鍵的更大值?

<div ng-repeat="item in data_1"> 
<p>{{item}}</p> 
</div> 

<div ng-repeat="item in data_2"> 
<p>{{item}}</p> 
</div> 

結果

5,,,1和6 ,3,2,

+0

你是否試圖結束一個數組,只是有更大的價值呢?像data_greater = {「a」:6,「b」:6,......}?應該很容易,只需創建一個方法來遍歷數組,並比較和構造並返回具有更大值的數組。 – Scott 2014-10-08 18:19:49

+0

道歉 - 我已編輯它來解決您的迴應。我不想做一個新的陣列 – pedro 2014-10-08 19:53:40

回答

1

如何這樣的事情,或一些變化。

<div ng-repeat="(key,value) in data_1"> 
    <p class="{{computeGreatest(key,value,data_2)}}">{{value}}</p> 
    </div> 
    <div ng-repeat="(key,value) in data_2"> 
    <p class="{{computeGreatest(key,value,data_1)}}">{{value}}</p> 
    </div> 


$scope.computeGreatest = function (key,value,data2) { 
    var ret = ""; 
    if(value > data2[key]){ 
     ret = "bold"; 
    } 
    return ret; 

    };