javascript / jquery nombre aléatoire entre -13 et 13 sauf les nombres entre -3 et 3
Je suis en utilisant
var min = -13;
var max = 13;
var random = Math.floor(Math.random() * (max - min + 1)) + min;
mais il renvoie TOUS les nombres(aléatoire) entre -13 et 13. comment puis-je obtenir pour générer un nombre aléatoire entre -13 -4 sauf -3 , -2, -1, 0 , 1 ,2 ,3 et notamment de 4 à 13.
source d'informationauteur Yusaf Khaliq
Vous devez vous connecter pour publier un commentaire.
Obtenir un nombre aléatoire entre 1 et 10 et ajouter 3, pour obtenir une entre 4-13:
La génération aléatoire entre 0 et 1. Si c'est 0, le nombre négatif:
JSFiddle montrant la copie de travail:
http://jsfiddle.net/adamh/cyGwf/
Mineur tweak pour ce que vous avez à le faire. Produire de l'aléatoire dans la plage de 6 à 13 ans, et puis si la valeur est inférieure à 4, soustraire 7. Je n'ai pas testé, mais je pense qu'il serait mieux que la production de deux randoms et se multiplient.
Autant que je sache, il n'est pas possible de générer un nombre aléatoire et de prendre en compte l'exclusion de l'ensemble. Vous devez créer une fonction récursive pour faire le filtrage pour vous. Voir ci-dessous:
Voici un travail de violon.
Ou, avec l'aimable autorisation @Rozwel, non une version récursive à l'aide d'une boucle while:
Voici un jsperf qui compare la accepté de répondre à ces deux options.
Mathématiques.round(Math.random () renvoie 0 ou 1,
de sorte qu'il peut être écrit sans valeur intermédiaire: