日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

JavaScript數組排序最常用的4種方式

admin
2024年12月19日 22:57 本文熱度 797

1.  sort() 方法

這是數組原生的排序方法。如果沒有傳入比較函數,元素會被轉換為字符串后按照字符編碼順序進行排序。

let fruits = ["cherry", "apple", "banana"];

fruits.sort();

console.log(fruits);

// 輸出: ["apple", "banana", "cherry"] 


若要按照自定義規則排序(如數字大小排序),可以傳入比較函數。比較函數接收兩個參數 a 和 b ,當 a - b < 0 時, a 排在 b 前面;當 a - b = 0 時, a 和 b 位置不變;當 a - b > 0 時, a 排在 b 后面。
 例如,對數字數組從小到大排序:

let numbers = [5, 3, 8, 2];

numbers.sort((a, b) => a - b);

console.log(numbers);

// 輸出: [2, 3, 5, 8] 


2. 冒泡排序

這是一種簡單的排序算法。它重復地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。

function bubbleSort(arr) {

    let n = arr.length;

    for (let i = 0; i < n - 1; i++) {

        for (let j = 0; j < n - i - 1; j++) {

            if (arr[j] > arr[j + 1]) {

                let temp = arr[j];

                arr[j] = arr[j + 1];

                arr[j + 1] = temp;

            }

        }

    }

    return arr;

}

let numbers = [5, 3, 8, 2];

console.log(bubbleSort(numbers));

// 輸出: [2, 3, 5, 8] 


3. 插入排序

 插入排序的基本操作是將一個數據插入到已經排好序的有序數據中,從而得到一個新的、個數加一的有序數據。
- 示例如下:

function insertionSort(arr) {

    for (let i = 1; i < arr.length; i++) {

        let current = arr[i];

        let j = i - 1;

        while (j >= 0 && arr[j] > current) {

            arr[j + 1] = arr[j];

            j--;

        }

        arr[j + 1] = current;

    }

    return arr;

}

let numbers = [5, 3, 8, 2];

console.log(insertionSort(numbers));

// 輸出: [2, 3, 5, 8] 


4. 選擇排序

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再從剩余未排序元素中繼續尋找最小(大)元素,然后放到已排序序列的末尾。

function selectionSort(arr) {

    for (let i = 0; i < arr.length; i++) {

        let minIndex = i;

        for (let j = i + 1; j < arr.length; j++) {

            if (arr[j] < arr[minIndex]) {

                minIndex = j;

            }

        }

        if (minIndex!== i) {

            let temp = arr[i];

            arr[i] = arr[minIndex];

            arr[minIndex] = temp;

        }

    }

    return arr;

}

let numbers = [5, 3, 8, 2];

console.log(selectionSort(numbers));

// 輸出: [2, 3, 5, 8]


該文章在 2024/12/20 11:05:55 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 小草国产精品情侣 | 欧美日韩国产在线播放 | 亚洲国产精品尤物yw | 亚洲一区二区三区和欧美四区 | 亚洲欧美日韩亚 | 99精品观看电影 | 欧美视频一区二区专区 | 亚洲人成电影手机在线网站 | 国产色系视频在线观看免费 | 国产96在线 | 污污污污污免费网站在线观看 | 激情亚洲一区国 | 中日欧美精品在线播放 | 国产男人午夜视频在线观看 | 手机看片免费永久在线观看 | 91色在线观看 | 国产日韩精品在线播放 | 综合狠狠 | 国产午夜福利在线播放 | 粗又视频图片 | 国产成年精品高清在线观看91 | 亚洲欧美日本韩国 | 国产热re9 | 中文字幕制服丝袜在线观看 | 在线免费在线观看的a | 国产熟女乱婬一区二区 | 亚洲成aⅴ人片久青草影院 国产91精品系列在线观看 | 国产中文字幕免费不卡 | 国产在线精品一区在线观看; | 午夜日韩丝袜美女视频网站 | 国产精品日韩 | 欧亚乱色熟一区二区三四区 | 美腿丝袜在线播放 | 91全网在线观看国产 | 午夜影视网站 | 2025中文字幕免费 | 欧美日韩精品一区二区免费看 | 国产啪精品视频网站免费尤物 | 成人欧美一区二区三区黑人免费 | 精品国偷自产在线不卡短视 | 傲盟下载|