JavaScript 降序排列數字,但將 0 置於開頭
我們需要編寫一個 JavaScript 函式,該函式接收一個數字陣列作為輸入。該函式應根據以下條件對數字陣列進行排序:
- ---如果陣列包含任何零,則所有零都應出現在開頭。
- ---所有剩餘數字應按遞減順序排列。
例如:
如果輸入陣列是:
const arr = [4, 7, 0 ,3, 5, 1, 0];
則應用排序後,陣列應變為:
const output = [0, 0, 7, 5, 4, 3, 1];
這裡我們將使用 Array.prototype.sort() 方法。
對於降序排序,我們將從 sort 函式的第一個引數中減去第二個引數。如果任何值為假值(零),我們將使用 Number.MAX_VALUE 代替該值。
示例
const arr = [4, 7, 0 ,3, 5, 1, 0];
const specialSort = (arr = []) => {
const sorter = (a, b) => {
return (b || Number.MAX_VALUE) - (a || Number.MAX_VALUE);
};
arr.sort(sorter);
};
specialSort(arr);
console.log(arr);輸出
這將產生以下輸出:
[ 0, 0, 7, 5, 4, 3, 1 ]
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP