Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Memilih Berbilang Elemen Secara Rawak daripada Array dalam JavaScript?

Bagaimana untuk Memilih Berbilang Elemen Secara Rawak daripada Array dalam JavaScript?

DDD
DDDasal
2024-10-30 05:53:02368semak imbas

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

Cara Memilih Berbilang Elemen Secara Rawak daripada Array

JavaScript menawarkan fungsi rawak elemen tatasusunan menggunakan Math.floor(Math.random() *item.panjang). Walau bagaimanapun, kaedah ini hanya memilih satu elemen. Untuk memilih berbilang elemen, kami memerlukan pendekatan yang lebih komprehensif.

Penyelesaian:

Untuk mendapatkan berbilang elemen rawak daripada tatasusunan, kami boleh melaksanakan proses dua langkah berikut :

  1. Kocok tatasusunan untuk merawak susunan unsur:

    const shuffled = array.sort(() => 0.5 - Math.random());
  2. Ekstrak sub-tatasusunan panjang yang dikehendaki daripada tatasusunan yang dikocok :

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

Demonstrasi:

Dalam kod contoh, kami mengisytiharkan tatasusunan tatasusunan nombor dan menentukan bilangan elemen untuk diekstrak (n). Dengan merombak tatasusunan dan menghirisnya, kami memperoleh sub-tatasusunan terpilih yang mengandungi n elemen rawak.

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();

Pendekatan ini menyediakan cara yang fleksibel dan cekap untuk memilih berbilang elemen secara rawak daripada tatasusunan, tanpa mengira saiznya .

Atas ialah kandungan terperinci Bagaimana untuk Memilih Berbilang Elemen Secara Rawak daripada Array dalam 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