Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengalih Keluar Objek daripada Tatasusunan Berdasarkan Harta Objek Tertentu?

Bagaimanakah Saya Boleh Mengalih Keluar Objek daripada Tatasusunan Berdasarkan Harta Objek Tertentu?

Barbara Streisand
Barbara Streisandasal
2024-12-01 14:05:12554semak imbas

How Can I Remove an Object from an Array Based on a Specific Object Property?

Sasaran Pembuangan Elemen Tatasusunan Berdasarkan Harta Objek

Masalah:

Anda memiliki tatasusunan objek dan cari kaedah untuk menghapuskan elemen tertentu berdasarkan sifat tertentu di dalamnya objek.

Contoh:

Diberi tatasusunan seperti di bawah:

var myArray = [
    {field: 'id', operator: 'eq', value: id}, 
    {field: 'cStatus', operator: 'eq', value: cStatus}, 
    {field: 'money', operator: 'eq', value: money}
];

Bagaimana anda boleh mengalih keluar objek dengan 'wang' sebagai 'bidang'nya hartanah?

Penyelesaian:

Untuk mencapai penyingkiran yang disasarkan ini, coretan kod berikut boleh digunakan:

myArray = myArray.filter(function( obj ) {
    return obj.field !== 'money';
});

Kod ini menggunakan penapis kaedah untuk mencipta tatasusunan baharu yang mengecualikan elemen yang syarat yang dinyatakan adalah benar. Dalam kes ini, syaratnya ialah obj.field !== 'wang', yang menyemak sama ada harta medan tidak sama dengan 'wang'.

Awas:

Adalah penting untuk ambil perhatian bahawa kaedah penapis mengembalikan tatasusunan baharu. Jika anda mempunyai pembolehubah tambahan yang merujuk tatasusunan asal, mereka tidak akan menerima data yang ditapis, walaupun anda mengemas kini pembolehubah asal (myArray) dengan rujukan baharu. Gunakan dengan berhati-hati untuk mengelakkan ketidakkonsistenan data.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Objek daripada Tatasusunan Berdasarkan Harta Objek Tertentu?. 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