欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

JavaScript數(shù)組排序最常用的4種方式

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

1.  sort() 方法

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

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

fruits.sort();

console.log(fruits);

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


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

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

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

console.log(numbers);

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


2. 冒泡排序

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

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. 插入排序

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

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. 選擇排序

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

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是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結(jié)合碼頭的業(yè)務特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved