gpt4 book ai didi

javascript - 如何更改 Javascript 中的日期格式以启用排序?

转载 作者:行者123 更新时间:2023-12-03 02:04:28 26 4
gpt4 key购买 nike

我用以下方式写下我的出生日期:

  • 1976年2月4日14:37
  • 1990年7月11日11:35
  • 1910年10月10日18:00

我想使用类似于此代码的内容对其进行排序(启用按出生排序):

var obj = [{"id":1,"dateOfBirth":"1.7.1990 11:35"}, 
{"id":4,"dateOfBirth":"4.02.1976 14:37"},{"id":2,"dateOfBirth":"28.10.1950
2:15"},{"id":3,"dateOfBirth":"03.01.1963 23:10"}]

obj.sort(function(a,b) { return new Date(a.dateOfBirth).getTime() - new
Date(b.dateOfBirth).getTime() } );

我不确定是否需要重新格式化出生日期才能实现此目的。

最佳答案

由于您只有年/月/日,因此拆分 dateOfBirth 字符串、转换为单个数字并按该数字排序非常简单,无需弄乱日期:

var obj = [{
"id": 1,
"dateOfBirth": "1.7.1990"
}, {
id: 2,
dateOfBirth: "28.10.1950"
}, {
"id": 4,
"dateOfBirth": "4.02.1976"
}];

function valueFromDOBString(str) {
const values = str.split('.').map(Number);
return values[0] + values[1] * 100 + values[2] * 10000;
}
const sortedObj = obj.sort((a, b) => {
return valueFromDOBString(b.dateOfBirth) - valueFromDOBString(a.dateOfBirth);
});
console.log(sortedObj);

关于javascript - 如何更改 Javascript 中的日期格式以启用排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49867338/

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