使用 TypeScript 陣列的求众数(mode)

TypeScript 是一種 JavaScript 的超集,它提供了更多的功能,可以讓開發者更容易開發出更優秀的程式碼。在 TypeScript 中,可以使用陣列來求出众数(mode),也就是出現次數最多的元素。

什麼是众数(mode)

众数(mode)是指在一組數據中出現次數最多的元素,它可以是一個數字、字符串或其他類型的數據。例如,在一組數據[1, 2, 3, 3, 4, 4, 4]中,4 就是众数,因為它出現了 3 次,比其他數字都多。

如何使用 TypeScript 陣列求众数(mode)

在 TypeScript 中,可以使用以下程式碼來求出众数(mode):

function mode(arr: number[]) {
    let modeMap: { [key: number]: number } = {};
    let maxEl: number = arr[0], maxCount: number = 1;
    for (let i = 0; i < arr.length; i++) {
        let el = arr[i];
        if (modeMap[el] == null)
            modeMap[el] = 1;
        else
            modeMap[el]++;  
        if (modeMap[el] > maxCount) {
            maxEl = el;
            maxCount = modeMap[el];
        }
    }
    return maxEl;
}

上面的程式碼使用了一個計數器(modeMap)來計算每個元素出現的次數,然後將出現次數最多的元素返回。

範例

現在我們來看一個簡單的範例,讓我們看看如何使用上面的程式碼來求出众数(mode):

let arr = [1, 2, 3, 3, 4, 4, 4];
let modeValue = mode(arr);
console.log(modeValue); // 4

在上面的程式碼中,我們定義了一個陣列 arr,並將它傳遞給 mode 函數,mode 函數會返回出現次數最多的元素,在這個例子中,它返回的是 4。

總結

在本文中,我們學習了如何使用 TypeScript 陣列來求出众数(mode)。我們首先介紹了什麼是众数,然後介紹了如何使用 TypeScript 陣列來求出众数,最後我們看了一個簡單的範例,讓我們更好地理解如何使用 TypeScript 陣列來求出众数。

Categorized in:

Tagged in: