【发布时间】:2021-03-16 06:57:06
【问题描述】:
我试图对包含许多对象的数组进行排序,但我可以只对第一个值进行排序。 这是我的示例代码: https://jsfiddle.net/v6wc8ufg
我正在尝试按 value1、value2、value3 执行 SQL 顺序
var myArray = [
{ id: 'a', val: '4', city: 'Spain' },
{ id: 'a', val: '1', city: 'Paris' },
{ id: 'z', val: '5', city: 'London' },
{ id: 'z', val: '4', city: 'Rome' },
{ id: 'b', val: '9', city: 'Italy' }
];
function SortByName(a, b) {
var aName = a.id;
var bName = b.id;
return aName < bName ? -1 : aName > bName ? 1 : 0;
}
myArray.sort(SortByName);
【问题讨论】:
-
您要先按
id排序,然后按val排序吗?你可以这样做:myArray.sort((a,b) => a.id.localeCompare(b.id) || a.val - b.val)
标签: javascript jquery arrays sorting object