Faker.js 2个值之间的随机数

K20*_*0GH 12 javascript faker

这个让我有点生气,我确定它很简单,但似乎没有记录在任何地方.

我使用https://github.com/marak/Faker.js/和以下内容生成我的随机数:

faker.random.number();
Run Code Online (Sandbox Code Playgroud)

效果很好,现在如果我想在2个数字之间做,我怎么会这样做?

我尝试了以下方法:

faker.random.number(10, 50);
Run Code Online (Sandbox Code Playgroud)

然而,这只是给我从0到10的数字.不知道50正在做什么

请有人给我一些指示

cre*_*re8 29

您需要为该函数提供一个对象:

faker.random.number({
    'min': 10,
    'max': 50
});
Run Code Online (Sandbox Code Playgroud)

因此,如果您只传递一个数字,它会将其设置为最大值.最小值默认为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;

  }
Run Code Online (Sandbox Code Playgroud)

  • [在演示页面中](https://cdn.rawgit.com/Marak/faker.js/master/examples/browser/index.html#random)都没有提到您可以通过这种方式传入参数的事实,也不在 [API 文档](http://marak.github.io/faker.js/faker.random.html#-static-number__anchor) (8认同)
  • 上面已弃用的语法 (3认同)
  • 最新版本现已更改,应使用“faker.datatype”,而不是“faker.random” (2认同)

Cra*_*ack 15

来自Fakerjs github

整数人. random.number(min,max) 0到"范围"之间的随机数.

faker.random.number(100); //returns 92
faker.random.number({min:5, max:10}); //returns 9
Run Code Online (Sandbox Code Playgroud)

十进制数字faker. finance.amount(min,max,decimal places) "min"和"max"之间的随机数,包括小数到X位.

faker.finance.amount(9000,10000,4); //returns 9948.8363
Run Code Online (Sandbox Code Playgroud)

布尔法克. random.boolean()

faker.random.boolean(); //returns true
Run Code Online (Sandbox Code Playgroud)

数组元素faker. random.arrayElement(array [])从可能值数组中选择一个随机元素.此功能对于创建可能的自定义列表很有用.

faker.random.arrayElement(["one","two","three","four"]); //returns "two"
var phTyp = faker.random.arrayElement(["cell","work","home"]); //returns "work"
Run Code Online (Sandbox Code Playgroud)

对象元素faker. random.objectElement(object {})从对象中选择一个随机元素,选择值而不是键.此功能对于创建可能的自定义列表很有用.

faker.random.objectElement({one: 1, two: 2, three: 3}); //returns 3
Run Code Online (Sandbox Code Playgroud)


Pen*_*Liu 6

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

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

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

faker.datatype.number(100); // return 88
faker.datatype.number({ min: 5, max: 10 }); // return 7
Run Code Online (Sandbox Code Playgroud)

  • 是的,他们已经改变了图书馆,现在这是最好的答案。谢谢。 (2认同)