arr=[{km:'混合一组',rc:10},{km:'混合二组',rc:11},{km:'混合三组',rc:10},{km:'混合二组',rc:10},{km:'混合三组',rc:10},{km:'混合四组',rc:10},,{km:'混合四组',rc:10}]
使用arr.sort((a,b)=>(a.km.localeCompare(b.km, 'zh-Hans-CN'))排序,为何不能按照"混合一组、混合二组、混合三组..."的顺序,而是"混合二组、混合三组、混合四组、混合一组"?
二(er)排在一(yi)前面, 字母顺序比较
'er' < 'yi' === true
网上查了一下 localeCompare
方法是先转成拼音,然后再进行比较,自然不符合你的要求
可以自己维护一个map 用来给每个km编个号,按这个号去排序
let map = { '混合一组': 0, '混合二组': 1, '混合三组': 2, '混合四组': 3, '混合五组': 4, '混合六组': 5, '混合七组': 6, '混合八组': 7, '混合九组': 8, '混合十组': 9, } let arr = [{ km: '混合一组', rc: 10 }, { km: '混合二组', rc: 11 }, { km: '混合三组', rc: 10 }, { km: '混合二组', rc: 10 }, { km: '混合三组', rc: 10 }, { km: '混合四组', rc: 10 }, { km: '混合四组', rc: 10 }] arr.sort((a, b) => { a = map[a.km] b = map[b.km] if (a > b) { return 1 } else if (a < b) { return -1 } else { return 0 } })
问题内容: 使用此脚本制作所有继承的etc样式的样式对象。 使用以下命令,第一个警报将正常工作,但是第二个警报则无法正常工作..它将解释为我假设的负号。.调试器说“未捕获的参考错误”。但是,我不能在其周围加上引号,因为它不是字符串。那么如何使用此对象属性? 问题答案: 编辑 查看注释,您将看到对于CSS属性,键符号与许多属性不兼容。因此,使用驼峰式案例密钥表示法是当前的方式 使用键符号而不是点 j
问题内容: 从这个原始问题开始,我将如何对多个字段进行排序? 使用这种略微适应的结构,我该如何对城市(升序)和价格(降序)进行排序? 我喜欢这个事实,而不是给出一个提供通用方法的答案。在计划使用此代码的地方,我将必须对日期以及其他内容进行排序。“灌注”物体的功能似乎很方便,即使有点麻烦。 我试图将这个答案构建成一个很好的通用示例,但是我运气不高。 问题答案: 这是一个“优化”版本。它进行了更多的预
本文向大家介绍js中的数组对象排序分析,包括了js中的数组对象排序分析的使用技巧和注意事项,需要的朋友参考一下 一、普通数组排序 js中用方法sort()为数组排序。sort()方法有一个可选参数,是用来确定元素顺序的函数。如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序。如: 因为字母A、B的ASCII值分别为65、66,而a、b的值分别为97、98,所以上面输出的结
问题内容: 大家好,我在排序时遇到小问题。 我正在收集String类型的一个集合。当我排序时,它给了我期望的错误结果 这是我的代码: 它的排序方式是: Alpha Beta Delta alpha1 theta。 在这里,它可以采用任何类型的字符串,包括大写/小写。但是小写字母的单词稍后出现。 我想要像这样的输出: Alpha alpha1 Beta Delta theta 有一个简单的内置方法吗
本文向大家介绍如何在Python中生成带有大写字母和数字的随机字符串?,包括了如何在Python中生成带有大写字母和数字的随机字符串?的使用技巧和注意事项,需要的朋友参考一下 您可以使用random.choice(list_of_choices)获取随机字符。然后循环遍历并获取列表,最后加入该列表以获取字符串。这里的选择列表是大写字母和数字。例如: 这将给我们输出: 这也可以在一行中完成: 在Py