JavaScript 中帶小數點的字串排序
在這個問題陳述中,我們的目標是藉助 Javascript 功能對帶小數點的字串進行排序。因此,為了完成此任務,我們將使用 Javascript 的 sort 和 map 方法。
理解問題陳述
問題陳述是在 Javascript 中編寫一個函式,透過該函式我們可以對給定的帶小數點的字串進行排序。例如,如果我們有一個像 [‘3.3’, ‘4.4’, ‘2.3’, ‘1.2’] 這樣的字串陣列,那麼我們的任務就是對給定的字串陣列進行排序。但是,為了對這些字串進行排序,我們首先需要將其轉換為數字。轉換後,我們將對其進行排序,如 [1.2, 2.3, 3.3, 4.4]。因此,我們對數字陣列進行了排序,但現在我們將再次將數字轉換為字串,如 [‘1.2’, ‘2.3’, ‘3.3’, ‘4.4’]。
給定問題的邏輯
為了解決上述給定的問題陳述,我們將建立一個函式來對帶小數點的字串陣列進行排序。因此,我們首先將給定的字串陣列轉換為數字陣列。在我們擁有數字陣列之後,我們將使用 sort 和比較函式對這些數字進行排序。然後我們得到一個排序後的數字陣列,然後再次將其轉換為字串陣列。
演算法
步驟 1 - 定義一個名為 sortStrings 的函式,該函式將字串作為輸入引數。
步驟 2 - 上述函式使用 parseFloat 方法將陣列中的每個字串轉換為數字。這將建立一個名為 numbers 的新陣列,該陣列包含與原始陣列相同的數字,但以浮點數形式。
步驟 3 - 使用 sort 方法,我們將 numbers 陣列按升序排序。
步驟 4 - 對映數字並再次轉換為字串格式。並顯示輸出。
演算法程式碼
//function to sort the array of strings
const sortStrings = (strings) => {
const numbers = strings.map(parseFloat);
numbers.sort((a, b) => a - b);
const sortedStrings = numbers.map((number) => number.toString());
return sortedStrings;
};
const strings = ['2.6', '1.3', '4', '1.5', '4.77', '3'];
const sortedStrings = sortStrings(strings);
console.log(sortedStrings);
複雜度
由於我們在上面的函式中使用了一些內建方法。因此,建立的函式的時間複雜度為 O(n log n),其中 n 是給定輸入陣列的大小。因為 sort 方法的平均時間複雜度為 O(n log n)。
結論
在 Javascript 中,我們以這種方式對帶小數點的字串陣列進行了排序。此演算法以簡單有效的方式進行排序。透過在對它們進行排序之前將字串轉換為數字。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP