我尝试随机生成number of year
。
但我无法得到我期望的结果。
这是我的示例代码。
function getNumber(start, end) {
return Math.floor(Math.random() * end) + start;
}
function generate(n){
var result = [];
for(let i = 0; i < n; i++){
let YEAR = getNumber(1900,2018);
result.push(YEAR);
}
/* I want to see the number 1900 ~ 2018 */
console.log(result);
}
generate(10);
我想得到1900年到2018年之间的数字,但我不能。
如何获得我想要的数字?
答案 0 :(得分:5)
您正在向start
添加一个最多end
(减1)的数字。您需要的是最多end-start
。
只需更改
return Math.floor(Math.random() * end) + start;
到
return Math.floor(Math.random() * (end-start)) + start;
答案 1 :(得分:2)
你几乎就在那里,只是做到了
Math.random() * (end-start)
而不是
Math.random() * end
<强>演示强>
function getNumber(start, end) {
return Math.floor(Math.random() * (end-start)) + start;
}
function generate(n){
var result = [];
for(let i = 0; i < n; i++){
let YEAR = getNumber(1900,2018);
result.push(YEAR);
}
/* I want to see the number 1900 ~ 2018 */
console.log(result);
}
generate(10);