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
Libérer: 2024-10-30 05:53:02
original
368 Les gens l'ont consulté

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());
    Copier après la connexion
  2. Extraire un sous-tableau de la longueur souhaitée du tableau mélangé :

    let selected = shuffled.slice(0, n);
    Copier après la connexion

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();
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal