假设有一个对象数组,每个对象中包含一个名为dayInNumber的属性,表示一周中的某一天(1表示星期一,2表示星期二,依此类推)。我们可以使用JavaScript的Array.prototype.sort()方法对这个对象数组进行排序。
以下是一个示例代码:
// 定义对象数组
var days = [
{ dayInNumber: 4, name: "Thursday" },
{ dayInNumber: 2, name: "Tuesday" },
{ dayInNumber: 1, name: "Monday" },
{ dayInNumber: 5, name: "Friday" },
{ dayInNumber: 3, name: "Wednesday" }
];
// 使用sort方法对对象数组进行排序
days.sort(function(a, b) {
return a.dayInNumber - b.dayInNumber;
});
// 打印结果
for (var i = 0; i < days.length; i++) {
console.log(days[i].name);
}
运行上述代码,将输出按照dayInNumber属性进行排序后的结果:
Monday
Tuesday
Wednesday
Thursday
Friday
在sort方法中,我们传入一个比较函数作为参数。这个比较函数接收两个参数a和b,分别表示数组中的两个元素。我们通过比较a.dayInNumber和b.dayInNumber的值来决定它们的排序顺序。如果返回一个负数,表示a应该排在b之前;如果返回0,则表示a和b的顺序不变;如果返回一个正数,表示a应该排在b之后。通过这个比较函数,我们可以按照dayInNumber属性对对象数组进行排序。