Tirage d'un element d'un tableau avec une probabilité differente pour chacun [Résolu]

Signaler
Messages postés
13
Date d'inscription
dimanche 19 janvier 2020
Statut
Membre
Dernière intervention
7 juin 2021
-
Messages postés
16032
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juin 2021
-
Bonjour à tous.

Je cherche a faire, en javascript, un tirage d'un element d'un tableau avec une probabilité differente pour chacun
Par exemple:

let tableau=[0,1,2,3];
tirage de un element avec une probabilité differente pour chacun
10% de tirer 0
15% de tirer 1
25% de tirer 2
50% de tirer 3


En Python c'est simple:
import random
tableau = [0, 1, 2, 3]
print(random.choices(tableau, weights=(10, 15, 25, 50), k=10))


Mais je ne trouve pas d'équivalent en javascript.

Merci

2 réponses

Messages postés
13
Date d'inscription
dimanche 19 janvier 2020
Statut
Membre
Dernière intervention
7 juin 2021
4
J'ai trouvé la reponse ici:
https://stackoverflow.com/questions/41654006/numpy-random-choice-in-javascript

function randomChoice(p) {
    let rnd = p.reduce( (a, b) => a + b ) * Math.random();
    return p.findIndex( a => (rnd -= a) < 0 );
}

let result = randomChoice([0.10, 0.15, 0.25, 0.50]);


En seulement 2 lignes , ca laisse rêveur, non !
Messages postés
16032
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juin 2021
551
Bonjour,

merci d'avoir posté ta propre solution, cela pourra aider quelqu'un à l'avenir.

Peux tu marquer le sujet résolu?