我如何从数组对象获得最近或最接近的日期
How can i get recent or closest date from an array object?
我如何从对象数组中获得最近或最接近的日期,我试图实现sortFunction但没有运气,任何想法我如何才能实现这个任务?
ctrl.js
$scope.data = [{
fileDate: Wed Aug 10 2016 10: 10: 44 GMT - 0400(Eastern Daylight Time),
filename: 'server.log'
}, {
fileDate: Tue Aug 30 2016 10: 48: 16 GMT - 0400(Eastern Daylight Time),
filename: 'server1.log'
}, {
fileDate: Wed Aug 31 2016 12: 14: 46 GMT - 0400(Eastern Daylight Time),
filename: 'server3.log'
}]
function sortFunction(a, b) {
var dateA = new Date(a.date).getTime();
var dateB = new Date(b.date).getTime();
return dateA > dateB ? 1 : -1;
};
$scope.data.sort(sortFunction);
console.log('DATE ARRAY', $scope.data);
main.html
<tr ng-repeat="file in data | orderBy:sortType:sortReverse">
<td>{{file.filename}}<label ng-show="showText">currently recording</label></td>
<td>{{file.fileDate |date : "dd.MM.y"}}</td>
<td><button type="button" class="btn btn-primary" ng-click="downloadServerFile(file.filename)">download</button></td>
</tr>
您的JavaScript对象格式错误:日期字符串周围缺少引号。
其次,它们表示JavaScript不能解释为日期的字符串。
下面是在将这些字符串转换为日期之前修复它们的代码。然后可以使用reduce
来查找最近的日期:
$scope.data = [{
fileDate: 'Wed Aug 10 2016 10: 10: 44 GMT - 0400(Eastern Daylight Time)',
filename: 'server.log'
}, {
fileDate: 'Wed Aug 31 2016 12: 14: 46 GMT - 0400(Eastern Daylight Time)',
filename: 'server3.log'
}, {
fileDate: 'Tue Aug 30 2016 10: 48: 16 GMT - 0400(Eastern Daylight Time)',
filename: 'server1.log'
}];
function dateFromString(str) {
// Fix date string before conversion -- some spaces need to be removed:
str = str.fileDate.replace(/([:-])'s+/g,'$1');
return new Date(str);
}
function mostRecent(a, b) {
return dateFromString(a) > dateFromString(b) ? a : b;
};
使用上面的函数,你可以选择最近的对象:
var lastFile = $scope.data.reduce(mostRecent);
这回答了你的问题。在评论中你提到:"我只是想获得最近的日期值,并使ng-show布尔值为真"。
为此,您可以为每个条目添加一个新的布尔属性,指示它是否是最后一个:
$scope.data.forEach(function (file) {
file.mostRecent = file === lastFile;
});
你可以在你的ng-show
属性中使用这个属性。
相关文章:
- 获取最接近的数组数
- 从同级字符串中指定最接近的元素类
- 当使用'最接近的':jQuery
- 如何使刻度四舍五入到最接近的 # 的倍数
- 如何根据数值通过数据属性进行搜索并获得最接近的值
- 通过搜索最接近的类来更改类
- 获取TR之外最接近的隐藏值
- JQuery获取最接近的元素并筛选子元素
- 获取最接近所选选项的最快方式
- j查询树遍历从子级到最接近过滤的父级
- JavaScript:如何在最接近值的关联数组中查找键
- jquery onclick 切换最接近的 UL
- 在 javascript 数组中搜索最接近的下一个值
- 如何确定乘以后将使您最接近目标数字的数字
- 单击按钮,如何获取与类最接近的td值
- javascript代码查找最接近零的tescase
- 未获得最接近0的结果
- jQuery此语法或最接近的语法
- 我如何从数组对象获得最近或最接近的日期
- 另一个最接近的子线程:查找与选择器匹配的元素的最近祖先