


Bagaimana untuk Mengoptimumkan Pemilihan Item Tatasusunan Tanpa Pengulangan?
Cara Meningkatkan Kecekapan Pemilihan Item Tatasusunan
Apabila memilih item tatasusunan secara rawak sambil mengelakkan pengulangan, kecekapan memainkan peranan yang penting. Walaupun kod yang disediakan secara berkesan menghalang pemilihan item yang sama beberapa kali berturut-turut, terdapat potensi untuk peningkatan prestasi.
Mengenai persoalan rekursi, fungsi yang disediakan secara teknikal tidak layak sebagai rekursif kerana ia tidak memanggil dirinya sendiri secara langsung tetapi sebaliknya memanggil dirinya sendiri melalui fungsi lain (chooseName()). Walau bagaimanapun, ia berkongsi persamaan dengan fungsi rekursif dalam sifat berulangnya.
Untuk meningkatkan kecekapan, pendekatan alternatif boleh diguna pakai yang menghapuskan gelagat seperti rekursif dan dengan ketara mengurangkan masa yang dihabiskan untuk mencari item unik. Strategi ini melibatkan mencipta fungsi baharu yang memilih item secara rawak sehingga semua item dalam tatasusunan telah habis. Setelah semua item telah digunakan, fungsi akan bermula semula dari awal, memastikan tiada item diulang.
Kod berikut melaksanakan pendekatan ini:
<code class="javascript">function randomNoRepeats(array) { var copy = array.slice(0); return function() { if (copy.length < 1) { copy = array.slice(0); } var index = Math.floor(Math.random() * copy.length); var item = copy[index]; copy.splice(index, 1); return item; }; } var chooser = randomNoRepeats(['Foo', 'Bar', 'Gah']); chooser(); // => "Bar" chooser(); // => "Foo" chooser(); // => "Gah" chooser(); // => "Foo" -- only repeats once all items are exhausted.</code>
Dengan menggunakan pendekatan yang diubah suai ini, anda berkesan boleh mengelakkan pengulangan sambil mengekalkan pemilihan item yang cekap tanpa potensi untuk lelaran gelung yang panjang seperti dalam pelaksanaan seperti rekursif.
Atas ialah kandungan terperinci Bagaimana untuk Mengoptimumkan Pemilihan Item Tatasusunan Tanpa Pengulangan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ganti aksara rentetan dalam javascript

jQuery mendapatkan padding/margin elemen

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom
