我在函数中使用按值进行排序。目前它正在按价值进行排序。不过,我想补充另一个条件。我想让它先根据这个条件进行排序(这意味着一个字段将等于某物),然后它将按值进行排序。
换句话说,有一个项目的名字是“萨利”。这个项目应该是第一个,然后其余的项目按值进行排序。
我已经做了很多研究,但在网上找不到任何东西。不知道有没有人遇到过这个问题。请看我的密码:
const sortByNameThenValue = () => {
let result;
result = sortBy(name, 'Sally') && sortBy(allowance, 'value').reverse();
}我也在考虑把它拴起来,但似乎也不起作用。如果你看到什么请告诉我。谢谢,谢谢!
发布于 2022-01-13 23:22:48
发布于 2022-01-13 23:18:29
你没有提供任何样本数据,所以我只是编了些东西。没有必要包括低破折号库,因为排序已经在Vanilla-JS中可用。
const arr=[{name:"Fred",value:138},{name:"Harry",value:5},{name:"Sally",value:34},{name:"Andy",value:257},{name:"Sue",value:142},{name:"Peggy",value:33},{name:"Frank",value:85}];
function val(o){
return o.value+(o.name==="Sally"?1e50:0)
}
console.log(arr.sort((a,b)=>
val(b)-val(a)));
https://stackoverflow.com/questions/70704085
复制相似问题