有一个名为 users 的数组,其中包含不同人的个人信息的对象。 有一个名为 getDatesfromString 的函数,它将字符串剥离为日期格式。 有一个名为sorted_user 的变量,它包含排序后的用户数组。 我不明白的是,排序函数如何通过获取用户的出生日期对用户进行排序,我需要详细解释吗?
let users = [
{
firstName: "John",
lastName: "wick",
email:"[email protected]",
DOB:"22-01-1990",
},
{
firstName: "John",
lastName: "smith",
email:"[email protected]",
DOB:"21-07-1983",
},
{
firstName: "Joyal",
lastName: "white",
email:"[email protected]",
DOB:"21-03-1989",
},
];
function getDateFromString(strDate) {
let [dd,mm,yyyy] = strDate.split('-')
return new Date(yyyy+"/"+mm+"/"+dd);
}
// console.log(sorted_users);
let sorted_users=users.sort(function(a, b) {
let d1 = getDateFromString(a.DOB);
let d2 = getDateFromString(b.DOB);
return d1-d2;
});
console.log(sorted_users);
sort
函数根据出生日期(users
)组织DOB
数组。详细解释如下:
比较功能:
sort
函数使用一个函数一次比较两个用户。日期比较:
排序:
sort
功能根据比较结果重新排列用户。