Maison > interface Web > js tutoriel > Comment extraire plusieurs éléments aléatoires d'un tableau en JavaScript sans doublons ?

Comment extraire plusieurs éléments aléatoires d'un tableau en JavaScript sans doublons ?

Patricia Arquette
Libérer: 2024-10-29 11:13:29
original
829 Les gens l'ont consulté

How to Extract Multiple Random Elements from an Array in JavaScript Without Duplicates?

Comment extraire plusieurs éléments aléatoires d'un tableau en JavaScript

Problème :

Récupération un seul élément aléatoire d'un tableau est simple en utilisant la formule Math.floor(Math.random() * array.length). Cependant, récupérer plusieurs éléments aléatoires sans doublons peut être difficile.

Solution :

Pour obtenir un nombre spécifié d'éléments aléatoires à partir d'un tableau, suivez ces étapes :

  1. Mélangez le tableau en utilisant array.sort(() => 0.5 - Math.random()). Cette ligne garantit que les éléments du tableau sont randomisés.
  2. Extrayez les n premiers éléments du tableau mélangé en utilisant selected = shuffled.slice(0, n). Cette ligne sélectionne les n premiers éléments du tableau mélangé.

Exemple :

Considérez le code suivant :

<code class="javascript">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();</code>
Copier après la connexion

Ceci le code mélange un tableau de 50 nombres et récupère les 5 premiers éléments aléatoires, les affichant dans le document HTML.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal