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

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

主站蜘蛛池模板: 999精品 | 最近中文字幕高清中文字 | 国产又大又硬又粗视频 | 一级特黄大片欧美99 | 欧美日韩精美视频在线观看 | 91精品在| 欧美日韩国产精品一区二区在 | 一区二区精品视频日本 | 国产精品猎奇另类视频 | 精品国产福利在线观看 | 七七影院| 欧美重口另类在线播放二区 | 国内一区 | 区三区免费中文字幕 | 日本在线| 日韩中文字幕在线播放 | 国产欧美精品区一区二区三区 | 亚洲欧美另类 | 亚洲男人夜夜精品电影 | 欧美777 | 亚洲欧美日韩国产精品一区二 | 日韩精品一区二区三区中文 | 中国特级黄大片视频 | 亚洲免费在线视频观看 | 亚洲色成人影院在线观看 | 美女网站在线免费观看 | 国产乱子伦农村叉叉叉 | 国产精品一区二区在线观看网站 | 日韩精品无| 欧美日韩不卡高清在线看 | 国产一级淫片视频免费看 | 亚洲一级淫片免费在线观看 | 国产电影一区二区三区 | 在线欧美日韩国产 | 国产不卡在线看 | 日韩中文字幕 | 日韩欧美一区二区三区四区 | 伊人色综合一区二区三区 | 国在线视频 | 欧美高清一区二区三区 | 国产人妖ts重口系列网站观看 |