javascript - 按对象中的属性对对象数组进行排序

标签 javascript arrays sorting

我有一个对象数组,例如:

[
 {date: "2016-01-07T15:01:51+00:00", text: "Lorem ipsum"}, 
 {date: "2016-22-08T15:04:36+00:00", text: "dolor"},
  // etc.
]

按日期属性对这些进行排序的最佳方法是什么?我已经将此数组映射到 react 组件,因此我认为任何在映射函数中工作的解决方案都是首选,但不是必需的。

我现在正在尝试使用 sort() 方法,但无法解决如何向其提供日期属性的问题。

最佳答案

您可以拥有自定义排序功能:

var data = [{
  date: "2016-07-01T15:01:51+00:00",
  text: "Lorem ipsum"
}, {
  date: "2016-02-22T15:04:36+00:00",
  text: "dolor"
}, {
  date: "2015-08-22T15:04:36+00:00",
  text: "test"
}]


var result = data.sort(function(a, b) {
  var date1 = new Date(a.date);
  var date2 = new Date(b.date);
  console.log(date1, date2);
  return (+date1 - +date2);
});

console.log(result)

关于javascript - 按对象中的属性对对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35039706/

相关文章:

javascript - someArray.[] 和 someArray.@each 的区别

javascript - FlexScroll 和 IFRAMES

javascript - 如何在 Javascript 中获取重复数组的最后一次出现位置

javascript - 按正态分布(高斯分布)对数字数组进行排序

wordpress - 在 Wordpress REST API 中按菜单顺序排序?

javascript - 防止表单错误数据和显示错误div

JavaScript: 'Disallow leading _ in identifiers' 作为 JSLint 中的一个选项

php - PHP 中使用迭代的嵌套注释

php - 如何获取 php/laravel 数组中元素的位置

java - Java中对数组进行排序的方法