javascript - 使用 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;
...
有没有办法使用函数递归地做到这一点?
解决方案
overallScore = Math.max(0, Math.floor((score - 1) / 10));
不需要递归。但如果你需要:
const getOverall = score => score <= 10 ? 0 : getOverall(score - 10) + 1;
推荐阅读
- swift - SwiftUI macOS 双击列表项
- python - @vectorize、OpenCV 和饱和度图像处理算法
- python - Scrapy 跟随 vs follow_all
- swagger - 在 Swagger UI/Swashbuckle 中实现 OpenID Connect 的解决方法
- typescript - 无法使用打字稿定义通用比较函数的类型
- pandas - 从数据框中查找索引
- wordpress - 闪烁背景 CSS 动画在 JSFiddle 中有效,但在 WordPress (Elementor) 页面上无效
- visual-studio-code - 什么会导致 git 在 vscode 中被禁用?
- reactjs - 'StackProps<"Detail">' 类型上不存在属性 'params'
- python - 如何从嵌套 json 获取熊猫数据框中的多索引列