亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js數組排序的方法有哪些及怎么使用

發布時間:2022-06-02 16:12:05 來源:億速云 閱讀:153 作者:iii 欄目:大數據

這篇文章主要介紹“js數組排序的方法有哪些及怎么使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“js數組排序的方法有哪些及怎么使用”文章能幫助大家解決問題。

1、sort方法

用于對數組的元素進行排序,是按照字符編碼的順序進行排序,會改變原數組的值,所以如果直接使用,可能無法達到我們想要的效果

var arr = [6, 3, 8, 7, 1, 5, 4, 2, 9];
arr.sort(function(a, b){
	return a - b;//升序排列
	//return b - a;//降序排列
});
//結果是[1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(arr);

2、冒泡排序

先選出數值,拍到數組最后面,之后再選出第二大的值排到倒數第二位,依次類推。

function bubbleSort(arr) 
    for (var max=arr.length;max>0;max--) {
        for (var i=0;i<max;i++) {
            if(arr[i]>arr[i+1]){
                var maxValue = arr[i];
                arr.splice(i,0,arr[i+1]);
                arr.splice(i+2,1);
            }
        }
    }
    return arr;
}

3、插入排序

是一種最簡單直觀的排序算法,它的工作原理是通過構建有序序列,對于未排序數據,在已排序序列中從后向前掃描,找到相應位置并插入。

var insertSort = function( arr) {
    var len = arr.length;
    var preIndex, current;
    for( var i = 1; i < len; i ++){
        preIndex = i - 1;
        current = arr[i];
        while(preIndex >= 0 && arr[preIndex] > current){
            arr[preIndex + 1] = arr[preIndex];
            preIndex --;
        }
        arr[preIndex + 1] = current;
    }
    return arr;
}

4、快速排序

首先任意選取一個數據(通常選用數組的第一個數)作為關鍵數據,然后將所有比它小的數都放到它前面,所有比它大的數都放到它后面,然后對左右部分遞歸。

function selectSort(array) {
var k = array.length;
for(var i=0; i<k-1; i++) {
var minIndex = i;
for(var j=i+1; j<k; j++) {
if(array[j] < array[minIndex]) {
minIndex = j;
}
}
var temp = array[i];
array[i] = array[minIndex];
array[minIndex] = temp;
}
return array;
}

5、選擇排序

每一趟從待排序的數據元素中選出最小(或)的一個元素,順序放在已排好序的數列的最后,直到全部待排序的數據元素排完。

var b=0//設置用來調換位置的值
var a=[1,9,33,2,5,34,23,98,14]
for(var i=0;i<a.length;i++){
    for(var j=i;j<a.length;j++){
        if(a[j]>a[j+1]){
            b=a[j]
            a[j]=a[j+1]
            a[j+1]=b
        }
    }
}
console.log(a)//[1, 2, 5, 9, 14, 23, 33, 34, 98]

關于“js數組排序的方法有哪些及怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

和林格尔县| 曲麻莱县| 报价| 凤冈县| 阆中市| 莱州市| 石台县| 洛南县| 龙山县| 南郑县| 营口市| 禹州市| 喜德县| 喀喇沁旗| 长沙市| 博乐市| 大庆市| 洪泽县| 蒙阴县| 宁乡县| 曲阜市| 攀枝花市| 会泽县| 宣武区| 静宁县| 景洪市| 怀化市| 浦江县| 襄汾县| 边坝县| 辉县市| 土默特右旗| 定兴县| 临高县| 平潭县| 武邑县| 波密县| 玉环县| 莫力| 集贤县| 开平市|