如果有这样的数组
let arrObj = [
{ name: "2", time: "2020-01-02" },
{ name: "1", time: "2019-11-12" },
{ name: "4", time: "2021-03-16" },
{ name: "5", time: "2021-09-06" },
{ name: "3", time: "2020-01-08" },
{ name: "6", time: "2022-02-02" },
{ name: "8", time: "2022-07-23" },
{ name: "7", time: "2022-03-21" },
];
现对其按时间排序,可以将时间转成时间戳,用新的属性来表示对应时间戳
arrObj.forEach((item) => {
item.dueTime = Date.parse(item.time);
});
打印结果
对其排序
arrObj.sort(function (a, b) {
return a.dueTime - b.dueTime;
});
排序后打印结果
完整代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body></body>
<script>
let arrObj = [
{ name: "2", time: "2020-01-02" },
{ name: "1", time: "2019-11-12" },
{ name: "4", time: "2021-03-16" },
{ name: "5", time: "2021-09-06" },
{ name: "3", time: "2020-01-08" },
{ name: "6", time: "2022-02-02" },
{ name: "8", time: "2022-07-23" },
{ name: "7", time: "2022-03-21" },
];
arrObj.forEach((item) => {
item.dueTime = Date.parse(item.time);
});
console.log(arrObj)
arrObj.sort(function (a, b) {
return a.dueTime - b.dueTime;
});
</script>
</html>