Javascript Faker.js两个值之间的随机数

Javascript Faker.js两个值之间的随机数,javascript,faker,Javascript,Faker,这件事让我有点抓狂,我相信这件事很简单,但似乎没有记录在案 我使用和以下命令生成我的随机数: faker.random.number(); 很好,现在如果我想在两个数字之间做,我该怎么做 我尝试了以下方法: faker.random.number(10, 50); 然而,这只是给了我从0到10的数字。不知道50在做什么 有人能给我一些指导吗。您需要给函数指定一个对象: faker.datatype.number({ 'min': 10, 'max': 50 }); 因此,如

这件事让我有点抓狂,我相信这件事很简单,但似乎没有记录在案

我使用和以下命令生成我的随机数:

faker.random.number();
很好,现在如果我想在两个数字之间做,我该怎么做

我尝试了以下方法:

faker.random.number(10, 50);
然而,这只是给了我从
0
10
的数字。不知道
50
在做什么


有人能给我一些指导吗。

您需要给函数指定一个对象:

faker.datatype.number({
    'min': 10,
    'max': 50
});
因此,如果您只传递一个数字,它会将其设置为最大值。默认情况下,最小值为0

这是数字功能的实现:

this.number = function (options) {

    if (typeof options === "number") {
      options = {
        max: options
      };
    }

    options = options || {};

    if (typeof options.min === "undefined") {
      options.min = 0;
    }

    if (typeof options.max === "undefined") {
      options.max = 99999;
    }
    if (typeof options.precision === "undefined") {
      options.precision = 1;
    }

    // Make the range inclusive of the max value
    var max = options.max;
    if (max >= 0) {
      max += options.precision;
    }

    var randomNumber = options.precision * Math.floor(
      mersenne.rand(max / options.precision, options.min / options.precision));

    return randomNumber;

  }
更新 最新版本将函数的位置从
faker.random.number
更改为
faker.datatype.number

整数伪造者。随机。数字(最小值、最大值)介于0和“范围”之间的随机数

小数伪造者。财务。金额(最小值、最大值、小数位)“最小值”和“最大值”之间的随机数,包括小数到X位

faker.finance.amount(9000,10000,4); //returns 9948.8363
布尔伪造者。random.Boolean()

数组元素伪造者。随机。arrayElement(数组[])从可能值的数组中选择一个随机元素。此函数用于创建自定义的可能性列表

faker.random.arrayElement(["one","two","three","four"]); //returns "two"
var phTyp = faker.random.arrayElement(["cell","work","home"]); //returns "work"
faker.random.objectElement({one: 1, two: 2, three: 3}); //returns 3
对象元素伪造者。随机。对象元素(对象{})从对象中选择随机元素,选择值而不是键。此函数用于创建自定义的可能性列表

faker.random.arrayElement(["one","two","three","four"]); //returns "two"
var phTyp = faker.random.arrayElement(["cell","work","home"]); //returns "work"
faker.random.objectElement({one: 1, two: 2, three: 3}); //returns 3

尝试传递如下所示的散列

faker.random.number({ min: 10, max: 50})

我在应用程序中运行
faker.random.number
时遇到此警告faker@5.5.3

弃用警告:faker.random.number现在位于 faker.datatype.number

方法已被移动。更好的修复方法将替换为
faker.datatype.number()


Idk的“伪造方式”,但你可以做
faker.random.number(40)+10为什么不使用简单的js:
Math.floor((Math.random()*50)+10)?@DasBeasto如果没有达到我所能得到的最低限度,那么10@mimo因为我正在使用Faker@K20GH如果你想在10到50之间,你想得到的最小值不是10吗?请添加额外的上下文,说明为什么这是正确的答案。嘿@DavidL,它认为这已经足够清楚了#KeepingitsImplexing您可以通过这种方式传递参数这一事实没有被提及,在最新版本中也没有被更改,而不是
faker.random
,应该使用
faker.datatype
不推荐的语法above@HosMercury谢谢你的指点,更新了我的答案!是的,他们改变了图书馆,现在这是最好的答案。谢谢
faker.datatype.number(100); // return 88
faker.datatype.number({ min: 5, max: 10 }); // return 7