我正在尝试连接到cloudant db并获取文档。有一个特定字段的数组(比如查询时间)。有多个文档,每个文档在查询时间字段中有多个条目,我需要从该数组中获取最新的查询时间。
querytime
["Tue Apr 25 07:32:50 2017", "Tue Apr 25 07:33:51 2017", "Tue Apr 25 07:34:51 2017", 30 more...]
$http(req).then(function(result){
$scope.tableData = result.data.rows;
$scope.max = Math.max.apply(Math,$scope.tableData.map(function(doc){return doc.querytime;}));
},
function(){
console.log("Failed at grabbing data");
});
<body ng-app="myApp" ng-controller="tutorialCtrl">
<p>
{{"Hello " + "you"}}
</p>
<div ng-repeat="doc in tableData">
{{doc.doc.querytime}}
</div>
</body>
答案 0 :(得分:0)
我认为如果querytime是一个数值,你的代码就可以工作。由于querytime是一个数组,你需要获得数组中每个最大值的最大值,如下所示:
$scope.max = Math.max.apply(Math,$scope.tableData.map(function(doc){
return Math.max.apply(Math,doc.querytime);
}));
请注意,我更换了:
return doc.querytime;
使用:
return Math.max.apply(Math,doc.querytime)
这将为您提供所有文档的最大值。如果你想要每个文件的最大值,你会做这样的事情:
控制器:
$scope.getMaxQuerytime() = function(doc) {
return Math.max.apply(Math,doc.querytime);
}
HTML:
<div ng-repeat="doc in tableData">
{{getMaxQuerytime(doc)}}
</div>