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