JS中列表中有字典排序问题
  2U15lpegzuxq 2023年12月06日 17 0


我有一个这样的列表在JS中

let people = [  

  { name: 'Alice', age: 25 },  

  { name: 'Bob', age: 30 },  

  { name: 'Charlie', age: 'letter' },  

  { name: 'Charlie', age: 'chi' }  

];  

我想按照AGE的值进行排序 可以使用下面方法

people.sort((a, b) => a.age - b.age);  

  

console.log(people);

这段代码会根据'age'字段的值从小到大排序。如果'age'字段的值是字符串,那么它们将按照字符串的Unicode码点进行排序,而不是按照字典顺序。如果你想按照特定的顺序(例如,'chi'应该在'letter'之前)进行排序,那么你需要提供一个更复杂的排序函数。

请注意,这段代码会将所有字符串的'age'字段都当作数字进行排序,如果'age'字段的值是字符串形式的数字,那么它们将按照数字顺序进行排序。如果'age'字段的值是混合类型(既有数字又有非数字字符串),那么结果可能不符合预期。你可能需要先转换数据类型,或者提供一个更复杂的排序函数来处理这种情况。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月06日 0

暂无评论

推荐阅读
  9J4CFPeHjrny   2023年12月24日   26   0   0 字段Java字段Java
2U15lpegzuxq