javascript数组排序和对象排序的示例
数组排序
在使用JavaScript时,我们都发现函数sort实际上是按照字典顺序排序的,比如下面这个例子:
var ary=[2,98,34,45,78,7,10,100,99];ary . sort();console . log(ary);控制台输出结果:
数组[10,100,2,34,45,7,78,98,99]显然验证了我之前写的东西。上面的结果是比较数组元素的第一位,然后按照1-9的顺序排列,所以我们需要给排序函数传递一个比较函数(这里我还得提到C语言的函数指针,简单来说就是把另一个函数传递给一个函数,这就像你给自己一套规则,计算机会按照你的规则执行。)现在也是同样的道理,给出一个规则,那么请看下面的代码:
var ary=[2,98,34,45,78,7,10,100,99];ary.sort((a,b)={ return a-b;});console . log(ary);递减输出:
ary.sort(函数(a,b){ return B- a;});console . log(ary);传入函数写在ES6中,相当于:
ary.sort(函数(a,b){ return a-b;});输出结果:
数组[2,7,10,34,45,78,98,99,100]的顺序数组[100,99,98,78,45,34,10,7,2]对象
今天要对对象进行排序,如下所示,将多个对象放在一个数组中
var objArray=[ {name : 'lily ',age : 22},{name : 'kandy ',age : 20},{name : 'lindy ',age : 24},{name : 'Jone ',age : 27 }];现在我们需要对它们进行分类:
函数sortObj(数组,键){ return array.sort(函数(a,b){ var x=a[键];var y=b[key];返回x-y;//还是返回x y?1 : (x y?-1 : 0);});}控制台输出结果:
以上是javascript数组排序和对象排序的一个例子。有问题可以留言讨论。感谢阅读。希望能帮到你。感谢大家的支持!