猿问

Jquery对具有更多对象的数组进行排序

我试图对包含许多对象的数组进行排序,但我可以如何仅对第一个值进行排序。这是我的示例代码: 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);


慕无忌1623718
浏览 98回答 2
2回答

繁星coding

您应该在排序函数sex返回值的时间检查值,这意味着是相同的。0id&nbsp;&nbsp;return&nbsp;((aName&nbsp;<&nbsp;bName)&nbsp;?&nbsp;-1&nbsp;:&nbsp;((aName&nbsp;>&nbsp;bName)&nbsp;?&nbsp;1&nbsp;:&nbsp;(a.sex&nbsp;<&nbsp;b.sex)&nbsp;?&nbsp;-1&nbsp;:&nbsp;(a.sex&nbsp;>&nbsp;b.sex)&nbsp;?&nbsp;1&nbsp;:&nbsp;0));

慕标5832272

我希望这个能有所帮助。const sortFunc = (a, b) => {&nbsp; &nbsp; if (a.value1 !== b.value1) return a.value1 > b.value1 ? 1 : -1;&nbsp; &nbsp; if (a.value2 !== b.value2) return a.value2 > b.value2 ? 1 : -1;&nbsp; &nbsp; ...&nbsp; &nbsp; return 0;}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答