首页 > 解决方案 > 使用 JavaScript 根据范围递归设置值

问题描述

我不知道该怎么说,但这就是我想要做的:

if (score >= 0 && score <= 10) overallScore = 0;
else if (score >= 11 && score <= 20) overallScore = 1;
else if (score >= 21 && score  <= 30) overallScore = 2;
else if (score >= 31 && score <= 40) overallScore = 3;
else if (score >= 91 && score <= 100) overallScore = 9;
...

有没有办法使用函数递归地做到这一点?

标签: javascript

解决方案


 overallScore = Math.max(0, Math.floor((score - 1) / 10));

不需要递归。但如果你需要:

  const getOverall = score => score <= 10 ? 0 : getOverall(score - 10) + 1;

推荐阅读