Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mendapatkan Objek dengan Cekap daripada Tatasusunan Berdasarkan Nilai Harta?

Bagaimanakah Saya Boleh Mendapatkan Objek dengan Cekap daripada Tatasusunan Berdasarkan Nilai Harta?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-20 00:56:09459semak imbas

How Can I Efficiently Retrieve an Object from an Array Based on a Property Value?

Pendapatan Objek Cekap daripada Tatasusunan mengikut Nilai Harta

Susun atur objek menyediakan koleksi data dengan pelbagai atribut. Tugas di tangan ialah untuk mendapatkan objek tertentu daripada tatasusunan ini berdasarkan nilai sifat tertentu tanpa menggunakan gelung for.

Penyelesaian Menggunakan Array.prototype.filter()

Memanfaatkan kaedah Array.prototype.filter() yang berkuasa, kami boleh menapis tatasusunan objek untuk menyertakan hanya objek yang sifatnya yang dikehendaki sepadan dengan nilai sasaran. Pendekatan ini mengembalikan tatasusunan yang mengandungi objek yang dikehendaki.

var jsObjects = [
  {a: 1, b: 2},
  {a: 3, b: 4},
  {a: 5, b: 6},
  {a: 7, b: 8}
];

var result = jsObjects.filter(obj => {
  return obj.b === 6;
});

Dalam contoh ini, pembolehubah hasil akan mengandungi tatasusunan berikut:

[{a: 5, b: 6}]

Kaedah Array.prototype.filter() berulang ke atas setiap objek dalam tatasusunan jsObjects dan mengembalikan tatasusunan yang mengandungi hanya objek yang memenuhi syarat yang dinyatakan dalam fungsi panggil baliknya. Dalam kes ini, ia hanya mengembalikan objek dengan sifat b mempunyai nilai 6.

Pendekatan ini dengan cekap mendapatkan semula objek yang diingini tanpa memerlukan gelung, menjadikannya penyelesaian yang boleh dipercayai dan berskala untuk tugasan tersebut.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Objek dengan Cekap daripada Tatasusunan Berdasarkan Nilai Harta?. 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