Leaders数组JavaScript

如果Numbers数组中的某个元素大于其右侧的所有元素,则该元素为领导者。我们需要编写一个JavaScript函数,该函数接受一个Numbers数组,并返回所有满足成为Leader元素条件的元素的子数组。

例如-

If the input array is:
[23, 55, 2, 56, 3, 6, 7, 1]
Then the output should be:
[56, 7, 1]

让我们为该函数编写代码-

示例

const arr = [23, 55, 2, 56, 3, 6, 7, 1];
const leaderArray = arr => {
   const creds = arr.reduceRight((acc, val) => {
      let { max, res } = acc;
      if(val > max){
         res.unshift(val);
         max = val;
      };
      return { max, res };
   }, {
      max: -Infinity,
      res: []
   })
   return creds.res;
};
console.log(leaderArray(arr));

输出结果

控制台中的输出将为-

[56, 7, 1]