我有一个对象数组,每个对象都有一个属性 name
,一个字符串。我想按此属性对数组进行排序。我希望它们按以下方式排序..
`ABC`
`abc`
`BAC`
`bac`
etc...
我将如何在 JavaScript 中实现这一点?
原文由 Skizit 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个对象数组,每个对象都有一个属性 name
,一个字符串。我想按此属性对数组进行排序。我希望它们按以下方式排序..
`ABC`
`abc`
`BAC`
`bac`
etc...
我将如何在 JavaScript 中实现这一点?
原文由 Skizit 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
3 回答1.3k 阅读✓ 已解决
有两种基本方法:
或者
请注意,第二个版本忽略变音符号,因此
a
和à
将被排序为相同的字母。现在这两种方式的问题是它们不会在小写字母
abc
ABC
之前对大写字母 --- 进行排序,因为它将它们视为相同。要解决这个问题,您必须这样做:
同样在这里你可以选择使用
localeCompare
如果你不希望变音符号影响这样的排序:您可以在此处阅读有关排序的更多信息: https ://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/sort