我试图对包含许多对象的数组进行排序,但我可以如何仅对第一个值进行排序。这是我的示例代码: 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);
2 回答
繁星coding
TA贡献1797条经验 获得超4个赞
您应该在排序函数sex
返回值的时间检查值,这意味着是相同的。0
id
return ((aName < bName) ? -1 : ((aName > bName) ? 1 : (a.sex < b.sex) ? -1 : (a.sex > b.sex) ? 1 : 0));
慕标5832272
TA贡献1966条经验 获得超4个赞
我希望这个能有所帮助。
const sortFunc = (a, b) => {
if (a.value1 !== b.value1) return a.value1 > b.value1 ? 1 : -1;
if (a.value2 !== b.value2) return a.value2 > b.value2 ? 1 : -1;
...
return 0;
}
添加回答
举报
0/150
提交
取消