gpt4 book ai didi

javascript - 使用日期类型对数组进行排序

转载 作者:行者123 更新时间:2023-12-01 03:39:50 25 4
gpt4 key购买 nike

对此仍然陌生。我在尝试对日期类型的对象数组进行排序时遇到问题。例如:我有 3 辆车:(姓名、首次注册日期(类型日期))。我如何对这个数组进行排序?我应该将日期更改为字符串吗?谢谢。

function car(Make, Model, Date) {
return Make + Model + Date;
}
var date1 = '2010';
var date2 = '2003';
var date3 = '2015';

var d1 = new Date(date1);
var d2 = new Date(date2);
var d3 = new Date(date3);

var n1 = d1.getFullYear();
var n2 = d2.getFullYear();
var n3 = d3.getFullYear();

var x = car('Mercedes', ' c220 ', n1);
var y = car(' Toyota', ' Prius ', n2);
var z = car(' Audi', ' a3 ', n3);
var polje = [x, y, z];

console.log(polje);
.as-console-wrapper { top: 0 }

最佳答案

您可以使用Date#toISOString对于可排序字符串 String#localeCompare .

然后你可以用它来排序

var array = [
{ make: 'Mercedes', model: 'c220', date : new Date('2010') },
{ make: 'Toyota', model: 'Prius', date : new Date('2003') },
{ make: 'Audi', model: 'a3', date : new Date('2015') }
];

array.sort(function (a, b) {
return a.date.toISOString().localeCompare(b.date.toISOString());
});

console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }

带有

的版本
  • 首先注册,描述,
  • 制作,升序,
  • 型号,asc

var array = [
{ make: 'Mercedes', model: 'c220', firstRegistration: 2010 },
{ make: 'Toyota', model: 'Prius', firstRegistration: 2015 },
{ make: 'Audi', model: 'a3', firstRegistration: 2015 }
];

array.sort(function (a, b) {
return b.firstRegistration - a.firstRegistration ||
a.make.localeCompare(b.make) ||
a.model.localeCompare(b.model);
});

console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 使用日期类型对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43982850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com