JavaScript 数组排序元素
本文只列举JavaScript中内置的一些排序元素的方法。常用的排序算法在后面会有提到。在本文就不列举了。
在本文例子中,我们需要用到的数组都为以下 numbers 数组,就不每个函数一一写出
1 | let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; |
reverse()方法
reverse() 方法用于颠倒数组中元素的顺序。
示例:
我们要把numbers内的元素顺序进行颠倒:
1 | let reverseNumbers = numbers.reverse(); |
sort()方法
上面我们已经用reverse()方法把numbers数组颠倒元素顺序了,那我们再用sort试试:
1 | console.log(numbers.sort()) // [1, 10, 2, 3, 4, 5, 6, 7, 8, 9] |
结果输出[1, 10, 2, 3, 4, 5, 6, 7, 8, 9] 为何10又在2的前面呢?看起来不太对,是吧?这是因为sort方法在对数组做排序时,把元素默认当成字符进行相互比较。
我们来看一下语法:
1 | arrayObject.sort(sortby) |
参数
名称 | 说明 | 类型 |
---|---|---|
sortby | 可选。规定排序顺序 | Function |
注意:对数组的引用,数组在原数组上进行排序,不生成副本。
我们重新来试试:
1 | let sortNumbers = numbers.sort((x,y) => x - y); |
当y大于x时,会返回负数,反之返回正数,如果相等就返回0 。sort()方法就根据返回值的情况对数组进行排序
对象类型进行排序
1 | const friends = [ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 孤鸿渺影博客!