返回带有最小和最大元素的数组JavaScript

提供了一个数字数组,比方说-

const arr = [12, 54, 6, 23, 87, 4, 545, 7, 65, 18, 87, 8, 76];

我们需要编写一个函数,该函数从数组中选取最小和最大元素,然后返回这两个数字组成的数组,其中最小值为索引0,最大值为1。

我们将使用Array.prototype.reduce()方法构建最小的最大数组,如下所示:

示例

const arr = [12, 54, 6, 23, 87, 4, 545, 7, 65, 18, 87, 8, 76];
const minMax = (arr) => {
   return arr.reduce((acc, val) => {
      if(val < acc[0]){
         acc[0] = val;
      }
      if(val > acc[1]){
         acc[1] = val;
      }
      return acc;
   }, [Infinity, -Infinity]);
};
console.log(minMax(arr));

输出结果

控制台中的输出将为-

[ 4, 545 ]