如果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]