Verwendung der Sortiermethode „Array-Sortierung“.
Verwendung in einem normalen Zahlenarray:
sort(function(a,b) {
return a-b // 升序
// return b-a // 降序
})
let ary = [5,6,8,0,4]
console.log(ary.sort((a,b) => b-a))
// [ 8, 6, 5, 4, 0 ]
Wenn die Elemente des Arrays keine gewöhnlichen Zahlen, sondern Objekte sind, müssen wir das Array nach der Größe eines bestimmten Attributwerts des Objekts sortieren:
let arr = [
{
id: 1,
date: 12,
hobby: {
num: 8
}
},
{
id: 2,
date: 22,
hobby: {
num: 99
}
},
{
id: 3,
date: 99,
hobby: {
num: 18
}
},
{
id: 4,
date: 8,
hobby: {
num: 5
}
}
]
// 根据arr数组中的每一项的date大小排序
arr.sort((a,b) => b.date - a.date) // 降序
console.log(arr)
/* [ { id: 3, date: 99, hobby: { num: 18 } },
{ id: 2, date: 22, hobby: { num: 99 } },
{ id: 1, date: 12, hobby: { num: 8 } },
{ id: 4, date: 8, hobby: { num: 5 } } ]
*/
// 根据arr数组中元素的hobby对象的num属性值大小排序
arr.sort((a,b) => b.hobby.num - a.hobby.num)
console.log(arr)
/*[ { id: 2, date: 22, hobby: { num: 99 } },
{ id: 3, date: 99, hobby: { num: 18 } },
{ id: 1, date: 12, hobby: { num: 8 } },
{ id: 4, date: 8, hobby: { num: 5 } } ]
*/
Zusammenfassung: Alles verändert sich, bleibt aber seinen Ursprüngen treu