假设有一个对象数组,每个对象都包含关键词和值属性。要按照关键词进行首先排序,对于相同关键词的对象,则按值进行排序。
可以使用 JavaScript 的 Array.sort() 方法,并结合自定义比较函数来解决该问题。
以下是示例代码:
let arr = [
{ keyword: "zoo", value: 100 },
{ keyword: "bar", value: 200 },
{ keyword: "foo", value: 300 },
{ keyword: "bar", value: 400 },
{ keyword: "alpha", value: 500 },
{ keyword: "zoo", value: 600 }
];
arr.sort((a, b) => {
if (a.keyword < b.keyword) {
return -1;
} else if (a.keyword > b.keyword) {
return 1;
} else {
return a.value - b.value;
}
});
console.log(arr);
在上面的示例代码中,我们首先通过比较两个对象的关键词进行排序。如果关键词相同,我们则通过比较它们的值进行排序。最后将排好序的数组打印输出。
运行以上示例代码,会得到以下输出结果:
[
{ keyword: 'alpha', value: 500 },
{ keyword: 'bar', value: 200 },
{ keyword: 'bar', value: 400 },
{ keyword: 'foo', value: 300 },
{ keyword: 'zoo', value: 100 },
{ keyword: 'zoo', value: 600 }
]
可以看到,数组已按照关键词和值进行了排序。
下一篇:按关键词排序字符串