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

时间:2015-08-14 13:09:17

标签: javascript faker

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

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

faker.random.number();

效果很好,现在如果我想在两个数字之间做,我该怎么做呢?

我尝试了以下内容:

faker.random.number(10, 50);

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

任何人都可以给我一些指示吗

4 个答案:

答案 0 :(得分:25)

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

faker.random.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;

  }

答案 1 :(得分:13)

From Fakerjs github

Whole Number faker. random.number(min,max) Random number between 0 and "range".

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

Decimal number faker. finance.amount(min,max,decimal places) Random number between "min" and "max" including decimals to X digits.

faker.finance.amount(9000,10000,4); //returns 9948.8363

Boolean faker. random.boolean()

faker.random.boolean(); //returns true

Array Element faker. random.arrayElement(array[]) Selects a random element from an array of possible values. This function is useful to create custom lists of possibilities.

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

Object Element faker. random.objectElement(object{}) Selects a random element from an object, selects the value not the keys. This function is useful to create custom lists of possibilities.

faker.random.objectElement({one: 1, two: 2, three: 3}); //returns 3

答案 2 :(得分:5)

我在应用程序 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

答案 3 :(得分:0)

尝试传递下面的哈希

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