【发布时间】:2019-02-14 00:40:45
【问题描述】:
JSFiddle:https://jsfiddle.net/oaxgzsr1/
顺便说一下,随机数实际上并不是一个随机数,而是一个变量。对此感到抱歉。
脚本:
var random = 5;
var rangeof = "";
/* option #1 */
if (random > 0 && random <= 5)
rangeof = "1-5";
if (random > 5 && random <= 10)
rangeof = "6-10";
if (random > 10 && random <= 15)
rangeof = "10-15";
if (random > 15 && random <= 20)
rangeof = "16-20";
if (random > 20 && random <= 25)
rangeof = "21-25";
//and so forth until we hit 100
/* option #2 */
var ranges = {
1: "1-5",
2: "1-5",
3: "1-5",
4: "1-5",
5: "1-5",
6: "6-10",
7: "6-10",
8: "6-10",
9: "6-10",
10: "6-10"
//and so forth until we hit 100
};
alert(ranges[5]);
如您所见,它会变得冗长且难以维护。
有什么方法可以让我做这样的事情:
var ranges = {
1-5: "1-5",
6-10: "6-10",
11-15: "11-15",
16-20: "16-20"
}
所以对于任何给定的数字,我都可以使用范围提取键值。
例如:
如果数字是 7,它在 6-10 键范围内,我会得到的值是 6-10。
【问题讨论】:
-
编写一个循环以在任何适用的输入数字范围内创建一个数组,并用两个值的数组(范围的下端和上端)填充它。然后你就可以使用你的查找技术了。
-
如果从您的描述中可以看出,间隔始终为 5,那么为什么不通过一些算术来计算出一个数字落在哪里呢?例如。
Math.floor(7/5)*5
标签: javascript range