首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从范围内选取随机整数时的奇数行为

从范围内选取随机整数时的奇数行为
EN

Stack Overflow用户
提问于 2015-07-06 13:04:12
回答 3查看 40关注 0票数 0

用户提供一个范围,比如说3-5。脚本应该在该范围内生成一个随机整数。现在,这段代码很好用。

代码语言:javascript
运行
复制
length = Math.floor(Math.random() * (5 - 3 + 1)) + 3;

但是,如果我以编程方式从范围中提取值并进行同样的操作,结果将是无稽之谈。

代码语言:javascript
运行
复制
//Split into elements
var range = lengthval.split("-"),
    minlen = range[0],
    maxlen = range[1];

if (!isNaN(minlen) && !isNaN(maxlen)) {
    //Pick a number from range
    length = Math.floor(Math.random() * (maxlen - minlen + 1)) + minlen;
}

真正奇怪的是,下面的“混合”片段工作得很好。

代码语言:javascript
运行
复制
//Split into elements
var range = lengthval.split("-"),
    minlen = range[0],
    maxlen = range[1];

if (!isNaN(minlen) && !isNaN(maxlen)) {
    //Pick a number from range
    length = Math.floor(Math.random() * (maxlen - minlen + 1)) + 3;
}

当然,提供的范围是3-5。

有人能帮一个新的javascript开发人员解决这个问题吗?:)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-06 13:06:39

不知道lengthval是什么,我很确定你需要使用parseInt

代码语言:javascript
运行
复制
minlen = parseInt(range[0], 10)
maxlen = parseInt(range[1], 10)
票数 1
EN

Stack Overflow用户

发布于 2015-07-06 13:08:05

这是您的,感谢并更新从@depperm:

代码语言:javascript
运行
复制
//Split into elements
var range = '3-5'.split("-");
minlen = Number(range[0]);
maxlen = Number(range[1]);
var length;
if (!isNaN(minlen) && !isNaN(maxlen)) {
  //Pick a number from range
  length = Math.floor(Math.random() * (maxlen - minlen + 1)) + minlen;
  alert(length);
}

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2015-07-06 13:11:24

您必须将从split获得的字符串解析为数字

代码语言:javascript
运行
复制
var range = "3-5".split("-");
var minlen = parseInt(range[0]);
var maxlen = parseInt(range[1]);
if (!isNaN(minlen) && !isNaN(maxlen))  {
      //Pick a number from range
      var length = Math.floor(Math.random() * (maxlen - minlen + 1)) + minlen;
}

还声明变量(使用var),并以分号结束语句。

http://jsfiddle.net/ks3hrzbL/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31246655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档