在 JavaScript 中不使用 sort() 排序陣列


我們需要編寫一個 JavaScript 函式,該函式接受一個數字陣列。

該函式應使用 Array.prototype.sort() 方法對陣列進行排序,但在此處我們要求使用 Array.prototype.reduce() 方法對陣列進行排序。

因此,讓我們編寫此函式的程式碼 −

示例

程式碼如下 −

const arr = [4, 56, 5, 3, 34, 37, 89, 57, 98];
const sortWithReduce = arr => {
   return arr.reduce((acc, val) => {
      let ind = 0;
      while(ind < arr.length && val < arr[ind]){
         ind++;
      }
      acc.splice(ind, 0, val);
      return acc;
   }, []);
};
console.log(sortWithReduce(arr));

輸出

控制檯中的輸出將為 −

[
   98, 57, 89, 37, 34,
   5, 56, 4, 3
]

更新日期: 22-Oct-2020

7K+ 瀏覽

事業起步

完成課程即可獲得認證

開始
廣告
© . All rights reserved.