Bagaimana untuk Mengeluarkan Objek dengan Cekap daripada Tatasusunan Berdasarkan Padanan Harta?

Linda Hamilton
Lepaskan: 2024-10-30 17:25:02
asal
184 orang telah melayarinya

How to Efficiently Remove Objects from Arrays Based on Property Matching?

Penyingkiran Objek yang Cekap daripada Tatasusunan dengan Pemadanan Harta

Untuk mengalih keluar objek secara selektif daripada tatasusunan berdasarkan nilai sifatnya, adalah penting untuk mengelakkan potensi isu dengan pengubahsuaian panjang tatasusunan semasa pemadaman. Berikut ialah dua kaedah yang berkesan:

Kaedah 1: Mengurangkan Pembilang Gelung

Jika anda menggunakan splice untuk mengalih keluar objek, panjang tatasusunan berkurangan dengan setiap pemadaman, berpotensi mendahului kepada tingkah laku yang salah dalam gelung. Untuk menangani perkara ini, kurangkan pembilang gelung (i) sebanyak 1 apabila objek dialih keluar.

Kaedah 2: Mengganti Elemen Keep

Dengan menimpa elemen yang anda ingin simpan semasa lelaran, anda boleh mengelakkan pemadaman masa linear dan mengubah saiz tatasusunan dengan lebih cekap. Gunakan pembolehubah seperti hujung untuk menjejaki indeks elemen yang disimpan terakhir dan hanya tulis ganti elemen dalam tatasusunan pada indeks tersebut.

Amalan Moden: Set Cincang

Dalam masa jalan moden, anda boleh memanfaatkan set cincangan untuk melakukan carian dengan lebih cekap. Dengan mencipta Set daripada senarai sifat objek yang ingin anda alih keluar, anda boleh menapis objek yang tidak diingini dalam masa yang tetap.

Fungsi untuk Penapisan Di Tempat Tujuan Am

Untuk meningkatkan lagi kebolehgunaan kod, pertimbangkan untuk mencipta fungsi generik untuk penapisan tatasusunan di tempat. Fungsi ini, filterInPlace, menerima tatasusunan dan fungsi predikat yang mentakrifkan logik penapisan. Ia mengikut prinsip yang sama yang digariskan di atas untuk penyingkiran objek yang cekap.

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Objek dengan Cekap daripada Tatasusunan Berdasarkan Padanan Harta?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!