随机数生成

时间:2018-01-02 09:19:58

标签: javascript random

我尝试随机生成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年之间的数字,但我不能。

如何获得我想要的数字?

2 个答案:

答案 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);