0
点赞
收藏
分享

微信扫一扫

JS中列表中有字典排序问题

Yaphets_巍 2023-12-06 阅读 32


我有一个这样的列表在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'字段的值是混合类型(既有数字又有非数字字符串),那么结果可能不符合预期。你可能需要先转换数据类型,或者提供一个更复杂的排序函数来处理这种情况。


举报

相关推荐

0 条评论