2014-10-08 117 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; 

    };