Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengeluarkan Nilai Harta sebagai Array dengan Cekap daripada Array Objek dalam JavaScript?

Bagaimana untuk Mengeluarkan Nilai Harta sebagai Array dengan Cekap daripada Array Objek dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-04 14:33:47799semak imbas

How to Efficiently Extract a Property Value as an Array from an Array of Objects in JavaScript?

Cara Mengekstrak Nilai Harta sebagai Tatasusunan daripada Tatasusunan Objek

Dalam JavaScript, anda mungkin menghadapi situasi di mana anda perlu mengekstrak nilai sifat tertentu daripada setiap objek dalam tatasusunan. Satu cara untuk mencapai ini adalah melalui fungsi tersuai, seperti yang ditunjukkan di bawah:

const objArray = [{ foo: 1, bar: 2 }, { foo: 3, bar: 4 }, { foo: 5, bar: 6 }];

function getFields(input, field) {
  const output = [];
  for (let i = 0; i < input.length; ++i) {
    output.push(input[i][field]);
  }
  return output;
}

const result = getFields(objArray, "foo"); // returns [ 1, 3, 5 ]

Walau bagaimanapun, terdapat pendekatan yang lebih ringkas dan idiomatik menggunakan kaedah tatasusunan JavaScript:

  1. Array.prototype.map():

    Kaedah ini mencipta tatasusunan baharu dengan keputusan memanggil fungsi yang disediakan pada setiap elemen dalam tatasusunan panggilan. Untuk kes penggunaan anda:

    const result = objArray.map(a => a.foo);
  2. Array.prototype.map() dengan Pemusnahan:

    Menggunakan pemusnahan dalam fungsi peta membolehkan anda untuk mengekstrak sifat khusus dengan lebih ringkas:

    const result = objArray.map(({ foo }) => foo);
  3. Ini kaedah menyediakan cara yang lebih bersih dan cekap untuk mengekstrak nilai hartanah tanpa memerlukan fungsi tersuai.

    Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Nilai Harta sebagai Array dengan Cekap daripada Array Objek 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
Artikel sebelumnya:Meditasi LeetCode: Selang SisipArtikel seterusnya:Meditasi LeetCode: Selang Sisip