如何从cloudant中的JSON doc中保存的数据数组中获取最新数据?

时间:2017-04-27 07:36:49

标签: javascript angularjs arrays cloudant

我正在尝试连接到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>

1 个答案:

答案 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>