sol*_*for 3 javascript reactjs
我目前正在按数字对JSON对象数组进行排序。
myArray.sort((a, b) => a.scorePriority - b.scorePriority)
Run Code Online (Sandbox Code Playgroud)
效果很好,但是现在,我需要按高,中,低排序,并完全忽略数字。
[
{ scorePriority: 10, scoreValue: "low" },
{ scorePriority: 3, scoreValue: "high" },
{ scorePriority: 10, scoreValue: "medium" }
]
Run Code Online (Sandbox Code Playgroud)
我需要按scoreValue排序,它可以是低,中或高。
有什么帮助吗?
使用localeCompare根据scoreValue以下内容按字母顺序排序:
array.sort((a, b) => a.scoreValue.localeCompare(b.scoreValue))
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要预定义的顺序(低->中->高),请使用顺序图,其键是可能的scoreValue字符串,其值是这些键的关联顺序:
array.sort((a, b) => {
const orders = { 'low': 0, 'medium': 1, 'high': 2 };
return orders[a.scoreValue] - orders[b.scoreValue];
});
Run Code Online (Sandbox Code Playgroud)
array.sort((a, b) => a.scoreValue.localeCompare(b.scoreValue))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |