請任何人都可以幫助我。我可以將陣列排序為升序或降序,但我希望能夠將陣列排序為高于數值。
例如,如果我有一個陣列:
a0 = new Array(8, 1, 3, 9, 0, 0, 0, 0);
// Sort a0 to end up with;
// 1, 3, 8, 9, 0, 0, 0, 0;
我包括了一個小提琴: 基本模板
我只能讓它作業,但在排序陣列的前面有零
// 0, 0, 0, 0, 1, 3, 8, 9;
謝謝。
uj5u.com熱心網友回復:
您可以通過檢查不為零來對零進行排序,然后將此值移至底部。
const array = [8, 1, 3, 9, 0, 0, 0, 0];
array.sort((a, b) => !a - !b || a - b);
console.log(...array);
uj5u.com熱心網友回復:
只需為Array.prototype.sort確保0最后排序的函式撰寫一個自定義比較器函式:
const a0 = new Array(8, 1, 3, 9, 0, 0, 0, 0);
a0.sort((a, b) => {
if (a === 0) return 1;
if (b === 0) return -1;
return a - b;
});
console.log(a0);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/407411.html
標籤:
