如何从数组中获取随机值?
2014-10-02
349
这是我想到的,但它不起作用。我没有得到输出。
Javascript.js
function randomnamegen() {
var names = ["Mango", "Pul", "Bat", "Tim", "Mh", "Hei"];
var namein = names(Math.floor((Math.random() * 5) + 0));
document.getElementById("name").innerHTML = namein;
}
index.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Cherry Cheese Danish</title>
</head>
<body>
<button type="button" onclick="randomnamegen()">Click Me!</button>
<p id="name"></p>
<script src="JavaScript.js"></script>
</body>
</html>
我在 Google Chrome 控制台中收到 Uncaught TypeError:对象不是函数 JavaScript.js:3。
3个回答
使用
[]
方括号表示数组:
var namein = names[ Math.floor((Math.random() * 5) + 0) ];
此外,您也可以让 JS 进行计数,而不是严格使用
5
(虽然您有 6 个):
Math.random() * names.length
function randomnamegen() {
var names = ["Mango", "Pul", "Bat", "Tim", "Mh", "Hei"];
var namein = names[ Math.floor(Math.random() * names.length) ];
document.getElementById("name").innerHTML = namein;
}
<button type="button" onclick="randomnamegen()">Click Me!</button>
<p id="name"></p>
Roko C. Buljan
2014-10-02
您的代码运行良好。您必须将 () 更改为 []:
var namein = names(Math.floor((Math.random() * 5) + 0));
正确的代码是:
var namein = names[Math.floor((Math.random() * 5) + 0)];
控制台显示以下错误:“对象不是函数”。
查看此链接 jsfiddle 以查看工作示例。
希望它有用!
Academia
2014-10-02
- 使用方括号
- 无需添加 0
var namein = names[Math.floor(Math.random() * 5)];
或使用
^ 0
进行舍入
var namein = names[Math.random() * 5 ^ 0];
GOTO 0
2014-10-02