Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Memilih Elemen Rawak Berbilang daripada Tatasusunan JavaScript?

Bagaimana untuk Memilih Elemen Rawak Berbilang daripada Tatasusunan JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-11-01 16:48:30843semak imbas

How to Select Multiple Random Elements from a JavaScript Array?

Mengakses Berbilang Elemen Rawak daripada Tatasusunan dalam JavaScript

Apabila bekerja dengan tatasusunan, terdapat senario di mana pemilihan berbilang elemen rawak diperlukan. Coretan kod yang disediakan menyediakan penyelesaian ringkas kepada masalah ini:

<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>

Penjelasan Terperinci:

  1. Mengocok Array: The fungsi isihan digunakan dengan fungsi bandingkan tersuai yang pada asasnya mengocok elemen secara rawak.
  2. Menghiris Tatasusunan Kocok: Kaedah hirisan kemudiannya digunakan untuk mengekstrak sub-tatasusunan yang terdiri daripada n pertama elemen daripada tatasusunan yang dikocok. Subtatasusunan ini mewakili elemen yang dipilih secara rawak.

Contoh:

<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>

Coretan kod ini mengocok tatasusunan 50 elemen (gandaan 10) dan memilih 5 elemen pertama secara rawak. Output akan menjadi tatasusunan yang mengandungi 5 elemen rawak.

Kelebihan Penyelesaian ini:

  • Cekap dan mudah untuk dilaksanakan.
  • Pulangan tatasusunan elemen yang dipilih secara rawak, mengekalkan susunan asal unsur tersebut.
  • Boleh diubah suai dengan mudah untuk memilih bilangan unsur rawak yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Elemen Rawak Berbilang daripada Tatasusunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn