Maison >interface Web >js tutoriel >Comment sélectionner aléatoirement plusieurs éléments d'un tableau en JavaScript ?

Comment sélectionner aléatoirement plusieurs éléments d'un tableau en JavaScript ?

DDD
DDDoriginal
2024-10-30 05:53:02375parcourir

How to Randomly Select Multiple Elements from an Array in JavaScript?

Comment sélectionner aléatoirement plusieurs éléments d'un tableau

JavaScript propose une fonction de randomisation des éléments du tableau à l'aide de Math.floor(Math.random() *articles.longueur). Cependant, cette méthode ne sélectionne qu’un seul élément. Pour sélectionner plusieurs éléments, nous avons besoin d'une approche plus complète.

Solution :

Pour obtenir plusieurs éléments aléatoires à partir d'un tableau, nous pouvons mettre en œuvre le processus en deux étapes suivant :

  1. Mélanger le tableau pour randomiser l'ordre des éléments :

    const shuffled = array.sort(() => 0.5 - Math.random());
  2. Extraire un sous-tableau de la longueur souhaitée du tableau mélangé :

    let selected = shuffled.slice(0, n);

Démonstration :

Dans l'exemple de code, nous déclarons un tableau de nombres et spécifions le nombre d'éléments à extraire (n). En mélangeant le tableau et en le découpant, nous obtenons un sous-tableau sélectionné contenant n éléments aléatoires.

n = 5;
array = Array.from({ length: 50 }, (v, k) => k * 10); // [0,10,20,30,...,490]
var shuffled = array.sort(function(){ return 0.5 - Math.random() });
var selected = shuffled.slice(0,n);

document.querySelector('#out').textContent = selected.toString();

Cette approche offre un moyen flexible et efficace de sélectionner aléatoirement plusieurs éléments d'un tableau, quelle que soit sa taille. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn