在 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+ 浏览

事业起步

完成课程即可获得认证

开始
广告