若要按照两个动态键对数组进行排序,可以使用JavaScript的Array的sort()方法。sort()方法可以接受一个比较函数作为参数,该函数用于指定排序的规则。
下面是一个示例代码,使用两个动态键对一个包含对象的数组进行排序,按照age和name进行排序:
const arr = [
{ name: "Alice", age: 25 },
{ name: "Bob", age: 30 },
{ name: "Charlie", age: 20 },
{ name: "David", age: 25 }
];
arr.sort((a, b) => {
// 首先按照age进行排序
if (a.age < b.age) {
return -1;
} else if (a.age > b.age) {
return 1;
} else {
// 如果age相同,则按照name进行排序
if (a.name < b.name) {
return -1;
} else if (a.name > b.name) {
return 1;
} else {
return 0;
}
}
});
console.log(arr);
运行上述代码,将会得到按照age和name排序后的数组:
[
{ name: "Charlie", age: 20 },
{ name: "Alice", age: 25 },
{ name: "David", age: 25 },
{ name: "Bob", age: 30 }
]
在比较函数中,首先按照age进行比较,如果age不同则返回比较结果,如果age相同则按照name进行比较。根据比较结果,sort()方法会自动将数组进行排序。