对象的React-Native按日期排序的对象数组

时间:2019-01-23 16:37:34

标签: javascript react-native

我们有一系列这样的对象:

{key: "T62", currentWinnerName: "Test Register", dateCreated: Fri Jan 18 2019 18:17:50 GMT+0000 (Greenwich Mean Time)}
{key: "T68", currentWinnerName: "Test Register", dateCreated: Wed Jan 23 2019 14:57:40 GMT+0000 (Greenwich Mean Time)}
{key: "T58", currentWinnerName: "Test Register", dateCreated: Fri Jan 18 2019 15:57:45 GMT+0000 (Greenwich Mean Time)}

我们需要基于数组内的dateCreated值对数组进行排序。

我尝试了各种排序方法,但无法获得更改顺序。

2 个答案:

答案 0 :(得分:0)

如果我正确理解您的对象是数组。那么你可以这样子。

var obj = [
  {
  key: "T62", 
  currentWinnerName: "Test Register", 
  dateCreated: "Fri Jan 18 2019 18:17:50 GMT+0000 (Greenwich Mean Time)"
  },
{
 key: "T68", 
currentWinnerName: "Test Register", 
dateCreated: "Wed Jan 23 2019 14:57:40 GMT+0000 (Greenwich Mean Time)"
},
{
key: "T58", 
currentWinnerName: "Test Register",
 dateCreated: "Fri Jan 18 2019 15:57:45 GMT+0000 (Greenwich Mean Time)"}
];
let sortedObj =  obj.sort(function(a,b){
  return new Date(b.dateCreated) - new Date(a.dateCreated);
});

console.log(sortedObj);

答案 1 :(得分:0)

您是否尝试过类似的方法:

const getTimestamp = (dateString)=> new Date(dateString).getTime();

const isOlder = (object1, object2)=> getTimestamp(object1.dateCreated) < getTimestamp(object2.dateCreated) ? -1 : 1;

const sortedArr = arr.sort(isOlder);

arr是您的数组。但是您必须将dateCreated设置为字符串。这对我有用。