在写题的时候要以列表中的某个参数进行排序
let list = [
{age:10,name:'x1'},
{age:8,name:'x2'},
{age:20,name:'x3'},
{age:9,name:'x4'},
{age:30,name:'x5'},
]
就用到了
list.sort((a,b)=>a.age-b.age)
但是我搞不清楚如何来判断是从大到小还是从小到大,然后我就先看了,a和b分别是那些
然后如图 a为下一个变量 ,b为前一个变量;
从上面可以看出来(例如看x2和x1的位置,x2在x1的前面,然后他们返回值为负),当返回值为正时,a在b的后面(保持原位置);当为负时a在b的前面(a和b交换位置);
那就分为了
当a>b情况下,a-b>0==>a放在b的后面(b,a) ,再加上a>b的条件==>升序排列;b-a<0==>(a,b)同理,降序排列
当a<b情况下,a-b<0==>a放在b的前面(a,b),再加上a<b的条件==>升序排列;b-a>0==>(b,a)同理,降序排列
当a=b情况下,保持原来的不变
从上面可得,不管a和b谁大谁小,a-b永远是升序;b-a永远是降序
标签:sort,x1,name,age,javaScript,x2,升序,排序,降序 From: https://blog.csdn.net/weixin_65808257/article/details/137591312