Maison  >  Article  >  interface Web  >  Comment sélectionner plusieurs éléments aléatoires dans un tableau JavaScript ?

Comment sélectionner plusieurs éléments aléatoires dans un tableau JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 16:48:30843parcourir

How to Select Multiple Random Elements from a JavaScript Array?

Accès à plusieurs éléments aléatoires à partir d'un tableau en JavaScript

Lorsque vous travaillez avec des tableaux, il existe des scénarios dans lesquels la sélection de plusieurs éléments aléatoires est nécessaire. L'extrait de code fourni fournit une solution concise à ce problème :

<code class="js">// Shuffle array
const shuffled = array.sort(() => 0.5 - Math.random());

// Get sub-array of first n elements after shuffled
let selected = shuffled.slice(0, n);</code>

Explication détaillée :

  1. Mélange du tableau : Le La fonction de tri est utilisée avec une fonction de comparaison personnalisée qui mélange essentiellement les éléments de manière aléatoire.
  2. Découpage du tableau mélangé : la méthode slice est ensuite utilisée pour extraire un sous-tableau composé des n premiers éléments du tableau mélangé. Ce sous-tableau représente les éléments sélectionnés aléatoirement.

Exemple :

<code class="js">n = 5;
array = Array.from({ length: 50 }, (v, k) => k * 10);

var shuffled = array.sort(function () {
  return 0.5 - Math.random();
});
var selected = shuffled.slice(0, n);

console.log(selected); // Output: [490, 470, 480, 460, 450]</code>

Cet extrait de code mélange un tableau de 50 éléments (multiples de 10) et sélectionne les 5 premiers éléments au hasard. La sortie sera un tableau contenant 5 éléments aléatoires.

Avantages de cette solution :

  • Efficace et simple à mettre en œuvre.
  • Retours un tableau d'éléments sélectionnés au hasard, préservant l'ordre d'origine des éléments.
  • Peut être facilement modifié pour sélectionner un nombre différent d'éléments aléatoires.

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