JS数组之重排序方法

Posted 见嘉于世

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS数组之重排序方法相关的知识,希望对你有一定的参考价值。

重排序方法

1. reserve() 反转

反转数组中元素的顺序。

2. sort() 重排序(默认升序)

sort()方法可以对数组中的每一个元素进行排序,但是问题来了,即便数组元素全部都是数值类型,此方法依然会将所有元素先转换成字符串再进行升序排序。
因此,为了解决这个问题,sort()方法允许传入一个比较函数作为参数,实现升序或者降序。

var arr = [0, 1, 5, 10, 15];
// reserve()反转、  sort()升序(小 => 大)
console.log(arr.reverse()); // 返回反转后的新数组 [15, 10, 5, 1, 0]
console.log(arr); // [15, 10, 5, 1, 0]

// sort()方法比较的始终是字符串
console.log(arr.sort()); // 返回排序后的新数组 [0, 1, 10, 15, 5]
console.log(arr); // [0, 1, 10, 15, 5]

// 为了解决使用sort()会转换成字符串后再比较的问题,sort()方法可以传入一个比较函数。
function compareMinToMax(value1, value2) { // 升序函数
    return value1 - value2;
}
arr.sort(compareMinToMax); // 传入比较函数
console.log(arr); // [0, 1, 5, 10, 15]

function compareMaxToMin(value1, value2) { // 降序函数
    return value2 - value1;
}
arr.sort(compareMaxToMin); // 传入比较函数
console.log(arr); // [15, 10, 5, 1, 0]

以上是关于JS数组之重排序方法的主要内容,如果未能解决你的问题,请参考以下文章

js 数组 数据去重排序

Javascript中数组重排序方法详解

js重排序方法

JS数组操作(扁平化去重排序交集并集差集二分查找峰值位置)

NC41 最长无重复子数组/NC133链表的奇偶重排/NC116把数字翻译成字符串/NC135 股票交易的最大收益/NC126换钱的最少货币数/NC45实现二叉树先序,中序和后序遍历(递归)(代码片段

数组重排序方法