首页 > 解决方案 > 查找最接近数组内的数字

问题描述

我有以下数组

const floorPerDayMilestones = [25, 50, 75, 100, 125, 150, 175, 200]

从前端用户输入任何数字说它是

const number = 136

我需要找到最接近数字但较小的那个。所以输出应该是125

即使数字是149输出也应该是125

我怎样才能做到这一点。我尝试了很多方法,但可以得到答案。

谢谢!!!

标签: javascriptarrayslodash

解决方案


你可以用Array.reduce这个

const floorPerDayMilestones = [25, 50, 75, 100, 125, 150, 175, 200]

function getClosestNumber(d) {
  return floorPerDayMilestones.reduce((a, b) => b <=d && a < b ? b : a, 0 )
}

console.log(getClosestNumber(135) || 'No lesser number available')

console.log(getClosestNumber(149) || 'No lesser number available')

console.log(getClosestNumber(22) || 'No lesser number available')


推荐阅读