Tirage d'un element d'un tableau avec une probabilité differente pour chacun

Résolu
hypothetix Messages postés 191 Date d'inscription dimanche 19 janvier 2020 Statut Membre Dernière intervention 24 avril 2024 - 7 déc. 2020 à 11:07
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 - 13 déc. 2020 à 12:28
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
A voir également:

2 réponses

hypothetix Messages postés 191 Date d'inscription dimanche 19 janvier 2020 Statut Membre Dernière intervention 24 avril 2024 6
13 déc. 2020 à 11:58
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 !
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
13 déc. 2020 à 12:28
Bonjour,

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

Peux tu marquer le sujet résolu?
0
Rejoignez-nous