2015-08-14 11 views
6

Questo mi sta facendo impazzire, sono sicuro che sia semplice ma non sembra essere documentato da nessuna parte.Faker.js numero casuale tra 2 valori

Im usando https://github.com/marak/Faker.js/ e il seguente per generare il mio numero a caso:

faker.random.number(); 

funziona bene, ora se voglio farlo tra i 2 numeri, come potrei fare per questo?

ho provato la seguente:

faker.random.number(10, 50); 

però che appena mi dà i numeri da 0 a 10. Non ho idea di quello che il 50 sta facendo

Qualcuno mi può dare alcune indicazioni per raggiungere questa preghiamo

+0

IDK la "via falsario" ma si poteva fare 'faker.random.number (40) + 10;' – DasBeasto

+0

Perché non con semplici js: ' Matematica.floor ((Math.random() * 50) + 10); '? – mimo

+0

@DasBeasto Che non funziona come il minimo che posso ottenere sarebbe sempre 10 – K20GH

risposta

14

È necessario dare un oggetto alla funzione:

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

Quindi, se si basta passare un numero, lo imposterà come valore massimo. Il valore minimo è 0 per impostazione predefinita.

Questa è l'implementazione della funzione di numero:

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; 

    } 
7

Da Fakerjs github

numero intero falsario.random.number (min, max) Numero casuale compreso tra 0 e "intervallo".

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

numero decimale faker.finance.amount (min, max, posizioni decimali) Numero casuale tra "min" e "max" compresi i decimali alle cifre X.

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

Fool booleano.random.boolean()

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

elemento di matrice falsario.random.arrayElement (array []) Seleziona un elemento casuale da una matrice di valori possibili. Questa funzione è utile per creare liste personalizzate di possibilità.

oggetto Elemento falsario.random.objectElement (oggetto {}) Seleziona un elemento casuale da un oggetto, seleziona il valore non i tasti. Questa funzione è utile per creare liste personalizzate di possibilità.

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

Prova a passare un hash come qui di seguito

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

Si prega di aggiungere ulteriore contesto per *** perché *** questa è la risposta corretta. –

+0

hey @DavidL, è abbastanza chiaro. #keepingitsimple –