javascript数组排序怎么编写?JS数组排序三种方法实现

TheDisguiser 2020-08-13 19:32:43 java常见问答 7101

排序功能的实现一直是数组的经典题目之一,几乎每个程序员都经历过它的洗礼,这次我们就来了解下常见的三种JS数组排序方法。

基础sort函数排序

//方式一
var arr = [5, 3, 1, 2, 4, 6];
arr.sort(function (a, b)
{
    return a - b;
});
console.log(arr); //1,2,3,4,5,6

//方式二
function play(a, b)
{
    if (a > b)
    {
        return 1;
    }
    else
    {
        return -1;
    }
}
var arr2 = [5, 3, 1, 2, 4, 6];
console.log(arr2.sort(play)); //1,2,3,4,5,6

选择性排序

function play(arr)
{
    //先循环遍历第一遍
    len = arr.length;
    var min, //声明存储最小值的变量
        temp;
    for (var i = 0; i < len; i++)
    { //进行第一轮的循环
        min = i; //最小值等于循环到的 i
        for (var j = i; j < len; j++)
        { //进行第二遍的循环
            if (arr[j] < arr[min])
            { //当arr中 j 小于 最小值时 --找到最小的数
                min = j; //就把 j当做是最小的数
            }
        }
        temp = arr[i]; //将temp赋值为arr中的 i
        arr[i] = arr[min]; //将他们交换位置
        arr[min] = temp; //将他们交换位置
    }
    return arr; //将arr返回
}
var arr = [3, 44, 38, 1, 56, 90, 0, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48];
console.log(play(arr));

经典冒泡排序

var arr = [3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48];
for (var i = 0; i < arr.length; i++)
{ //遍历数据的长度
    for (var j = 0; j < arr.length; j++)
    { //进行第二轮的循环
        if (arr[j] > arr[j + 1])
        { //判断如果第一位数大于第二位数的话
            var temp = arr[j]; //交换位置
            arr[j] = arr[j + 1];
            arr[j + 1] = temp;
        }
    }
}
console.log(arr);

以上就是今天的全部内容,有关java编程常见问题的更多详情,请持续关注本站了解。

推荐阅读:

javascript基础知识总结(基础入门)

javascript代码大全,基础代码详解

javascript啥意思?是什么意思?