计算数组中元素的总数,即大于同一数组中的前一个元素

我正在跟踪一系列长跑的里程数。我想计算取得进展的次数(即记录距离超过先前记录距离的次数)。


我相信 .every() 方法在这里对我有用。我需要一个计数器,每当它找到一个大于前一个项目的项目时,它就会增加一个。这是我自己无法生成的最后一点功能逻辑。


const progressDays = (runs) => {

return runs.reduce(aFunc, 0) 

   }


const aFunc = (total, num) => {

   //the logic I need goes here

}

}


console.log(progressDays([3, 4, 1, 2]))

我希望上述代码的输出为 2,因为有 2 次 (3->4) 和 (1->2) 取得了进展。


慕森卡
浏览 191回答 2
2回答

MYYA

您可以通过使用减少的索引进行解构来减少数组并从数组中获取实际值和前一个值。然后用条件数。const&nbsp; &nbsp; progressDays = runs => runs.reduce(check, 0),&nbsp;&nbsp; &nbsp; check = (total, num, i, { [i - 1]: prev }) => total + (prev < num);console.log(progressDays([3, 4, 1, 2]));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript