JavaScript中-10到10之间的随机数

30

5
我猜他们已经在旨在成为提问编程问题的首要站点上尝试过询问,尽管一些成员倾向于在接受他们加入兄弟会之前提出愚蠢的问题。说真的,质疑每个人的动机是必要的吗? :-) 有些人只是需要帮助,可能没有知识或经验先尝试一些东西。我们都曾经是新手,尽管我不得不承认这对我来说是很久以前的事了,已经迷失在黑暗的过去中。 - paxdiablo
2
SO的一个目标是当你在谷歌上搜索问题时,你会最终来到这里。简单的问题同样有效。 - nos
3
似乎是 https://dev59.com/-nI_5IYBdhLWcg3wF_B3 的重复问题。 - Antti Kissaniemi
5
为什么这个问题需要关闭并被认为是“不是一个真正的问题”呢?它似乎表达得很清楚、简洁,是一个真实的编程问题,虽然基础,但完全可以回答。请问如何解决? - edeverett
4
请解释一下 "How do I get a random number between −10 and 10 in JavaScript?" 这个问题为什么被认为是“含糊不清、不完整、无法合理回答或具有修辞性”,同时请说明你的观点。从我看来,这个问题的表述非常清晰明了,是一个很好的例子。 该问题可能会被视为"ambiguous, vague, incomplete, or rhetorical and cannot be reasonably answered in its current form",因为它缺乏细节或更多上下文信息。例如,它没有提供任何特定要求或条件,比如是否需要唯一值或需要固定数量的数字等。此外,它也没有说明对应的JavaScript代码用途是什么,例如它是为了生成游戏中的随机数还是其他目的。然而,从您的视角来看,您认为该问题的表述非常清晰明了,并且足以回答相关的JavaSript随机数生成问题。 - Hendrik Brummermann
显示剩余6条评论
4个回答

71
var min = -10;
var max = 10;
// and the formula is:
var random = Math.floor(Math.random() * (max - min + 1)) + min;

9
您关闭了这个问题,理由是: "含糊不清,不完整或者是修辞性质的问题,无法在当前形式下得到合理回答。" 但您在这里回答了它。您能解释一下原因吗? - edeverett
5
@edeverett,我投票将此问题标记为“完全重复”,与https://dev59.com/-nI_5IYBdhLWcg3wF_B3相同,而不是标记为“无法回答的问题”。但不幸的是,投票结果是3比2。如果我投票重新开放此问题,那只是为了用正确的原因关闭它。 - Darin Dimitrov
https://gist.github.com/kerimdzhanov/7529623 - Dan K.K.

21

jQuery:$.randomBetween(minValue, maxValue);


6
+1 对于 jQuery 的答案 - user180100
32
@RC:http://www.doxdesk.com/img/updates/20091116-so-large.gif - kennytm
9
这里jQuery用得过度了。接下来要加入 .add() 和 .sub() 使它成为jQuery吗?>_> 人们应该学习JavaScript语言,而不是jQuery库… - Ivo Wetzel
1
喜欢那个经典笑话,但是哎呀,对于一个已经在许多项目中简化任务并使其更加用户友好的库感到愤怒。为什么一个库想要这样做呢?为什么人们想要一种快速简便的方法来完成事情,而不是走弯路呢?请原谅我,我要步行5公里去买菜,而不是开车... - OXiGEN
一方面,你有一个带有两个参数的优美函数,另一方面,你有一堆丑陋复杂的变量和函数混搭。说什么都好,JQuery比纯JavaScript更加美观、优雅。 - A Friend
显示剩余3条评论

9

只需进行简单的Google搜索即可,无需过于复杂。

var randomnumber=Math.floor(Math.random()*21)-10

Math.random()*21)会返回0到20之间的数字。减去10将得到介于-10和10之间的随机数。

我的建议是:先尝试谷歌搜索,然后再询问结果,例如:

如何获得一个随机数?我已经谷歌了X和Y方法,想知道哪种方法最适合用于Z目的。


函数 randbetween(min,max ) { 返回 Math.floor(Math.random() * (max - min + 1)) + min; } - dazzafact

9
例如:

var min = -10;
var max = 10;

console.log(Math.floor(Math.random() * (max - min + 1) + min));
.as-console-wrapper { max-height: 100% !important; top: 0; }

点击jsrandom.php链接,了解一些与Math.floorMath.ceilMath.round有关的比较信息。


http://www.rockechris.com/jquery/jquery.random.js.html - menardmam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接