Json 从角度为的对象获取具有最大值的元素

Json 从角度为的对象获取具有最大值的元素,json,angularjs,Json,Angularjs,找不到关于这个的任何信息 我有一个控制器: app.controller('StatsCtrl', function ($scope, $http) { $http.get('stats.json').success(function(data) { $scope.stats = data; }); }); stats.json具有: {"lang":{"en":28,"und":1,"ja":9,"es":14,"ru":1,"in":1,"ko":1,"th":1,"ar":1

找不到关于这个的任何信息

我有一个控制器:

app.controller('StatsCtrl', function ($scope, $http) {
 $http.get('stats.json').success(function(data) {
    $scope.stats = data;
 });
});
stats.json具有:

{"lang":{"en":28,"und":1,"ja":9,"es":14,"ru":1,"in":1,"ko":1,"th":1,"ar":1}}

我需要的是将
lang
对象中的最大值分配给控制器中的
$scope.max
。最好的方法是什么?

我建议使用underline.js
\uuux.max

_.max(list, [iteratee], [context])
返回列表中的最大值。如果提供了一个iteratee函数,它将用于每个值,以生成对值进行排序的标准-如果列表为空,则返回无穷大,因此可能需要一个isEmpty保护

var stooges = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
_.max(stooges, function(stooge){ return stooge.age; });
=> {name: 'curly', age: 60};

我建议使用下划线.js
\uux.max

_.max(list, [iteratee], [context])
返回列表中的最大值。如果提供了一个iteratee函数,它将用于每个值,以生成对值进行排序的标准-如果列表为空,则返回无穷大,因此可能需要一个isEmpty保护

var stooges = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
_.max(stooges, function(stooge){ return stooge.age; });
=> {name: 'curly', age: 60};

您可以使用两种本机方法来实现:

$scope.max = Math.max.apply(null, Object.keys(data.lang).map(function(key) {
    return data.lang[key];
}));

您可以使用两种本机方法来实现这一点:

$scope.max = Math.max.apply(null, Object.keys(data.lang).map(function(key) {
    return data.lang[key];
}));


你想给max赋值(number)还是给max赋值(key)(如“en”、“und”)@user2393267在这种情况下是28。你想给max赋值(number)还是给max赋值(key)(如“en”、“und”)呢?@user2393267在这种情况下是28。把这个添加到控制器中,但我想我遗漏了一些东西,因为它不工作:
app.controller('StatsCtrl',function($scope,$http){$http.get('stats.json').success(function(data){$scope.stats=data;});$scope.max=Math.max.apply(null,Object.keys(data.lang).map(function(key){return data.lang[key];});})哎呀,它正在工作。谢谢<代码>app.controller('StatsCtrl',function($scope,$http){$http.get('stats.json').success(function(data){$scope.stats=data;$scope.max=Math.max.apply(null,Object.keys(data.lang).map(function(key){return data.lang[key];}));})
将此添加到控制器,但我认为我缺少了一些东西,因为它不起作用:
app.controller('StatsCtrl',function($scope,$http){$http.get('stats.json').success(function(data){$scope.stats=data;});$scope.max=Math.max.apply(null,Object.keys(data.lang).map(function(key){return data.lang[key];})); });哎呀,它正在工作。谢谢<代码>app.controller('StatsCtrl',function($scope,$http){$http.get('stats.json').success(function(data){$scope.stats=data;$scope.max=Math.max.apply(null,Object.keys(data.lang).map(function(key){return data.lang[key];}));})