任务是使用JavaScript从数组中选择随机元素。
方法1:
- 采用Math.random()函数获取介于(0-1, 1除外)之间的随机数。
- 将其乘以数组长度即可得到介于(0-arrayLength)之间的数字。
- 采用Math.floor()获取从(0到arrayLength-1)的索引。
例子:本示例实现了上述方法。
<!DOCTYPE HTML>
< html >
< head >
< title >
How to select a random element
from array in JavaScript ?
</ title >
</ head >
< body style = "text-align:center;" >
< h1 style = "color:green;" >
lsbin
</ h1 >
< p id = "GFG_UP" style =
"font-size: 15px; font-weight: bold;" >
</ p >
< button id = "button" onclick = "GFG_Fun()" >
click here
</ button >
< p id = "GFG_DOWN" style =
"font-size: 24px; font-weight: bold; color: green;" >
</ p >
< script >
var up = document.getElementById('GFG_UP');
var down = document.getElementById('GFG_DOWN');
var arr = ["GFG_1", "lsbin", "Geeks", "Computer Science Portal"];
up.innerHTML = "Click on the button to check "
+ "the type of element.< br >< br >" + arr;
function GFG_Fun() {
down.innerHTML =
arr[Math.floor(Math.random() * arr.length)];
}
</ script >
</ body >
</ html >
输出如下:
在单击按钮之前:
单击按钮后:
方法二:
- 的随机(a, b)方法用于生成介于(a至b, b除外)之间的数字。
- 取下限范围为从(1到arrayLength)的数字。
- 减去1得到的索引范围是(0到arrayLength-1)。
例子:本示例实现了上述方法。
<!DOCTYPE HTML>
< html >
< head >
< title >
How to select a random element
from array in JavaScript ?
</ title >
</ head >
< body style = "text-align:center;" >
< h1 style = "color:green;" >
lsbin
</ h1 >
< p id = "GFG_UP" style =
"font-size: 15px; font-weight: bold;" >
</ p >
< button id = "button" onclick = "GFG_Fun()" >
click here
</ button >
< p id = "GFG_DOWN" style =
"font-size: 24px; font-weight: bold; color: green;" >
</ p >
< script >
var up = document.getElementById('GFG_UP');
var down = document.getElementById('GFG_DOWN');
var arr = ["GFG_1", "lsbin", "Geeks", "Computer Science Portal"];
up.innerHTML = "Click on the button to select"
+ " random element from the"
+ " array.< br >< br >" + arr;
function random(mn, mx) {
return Math.random() * (mx - mn) + mn;
}
function GFG_Fun() {
down.innerHTML = arr[Math.floor(random(1, 5))-1];
}
</ script >
</ body >
</ html >
输出如下:
在单击按钮之前:
单击按钮后: