Mengekstrak Nilai Berbeza dengan Cekap daripada Susunan Objek dalam JavaScript
Dalam JavaScript, mendapatkan nilai berbeza daripada tatasusunan objek boleh menjadi perkara biasa tugasan. Pertimbangkan senario berikut:
var array = [ { name: "Joe", age: 17 }, { name: "Bob", age: 17 }, { name: "Carl", age: 35 } ]; // Desired Result: [17, 35]
Untuk mencapai hasil ini, satu pendekatan adalah untuk melelaran melalui tatasusunan dan mengekalkan tatasusunan berasingan untuk menyimpan nilai yang berbeza. Walau bagaimanapun, kaedah ini boleh menjadi tidak cekap, terutamanya untuk tatasusunan yang besar.
Pendekatan alternatif, tersedia dalam ES6/ES2015 dan kemudian, menggunakan struktur data Set. Set menyediakan koleksi nilai yang unik, jadi anda boleh mencipta Set baharu daripada tatasusunan sifat objek yang diingini:
const uniqueAges = [...new Set(array.map(item => item.age))];
Pernyataan ini berulang melalui tatasusunan menggunakan fungsi map() untuk mengekstrak sifat umur daripada setiap objek. Ia kemudian mencipta Set daripada nilai yang diekstrak menggunakan pembina Set() baharu. Akhir sekali, ia menyebarkan Set ke dalam tatasusunan menggunakan operator spread (...), menghasilkan senarai umur yang berbeza yang diingini: [17, 35].
Pendekatan ini menawarkan faedah prestasi yang ketara berbanding lelaran kaedah, terutamanya untuk set data yang besar. Ia menghapuskan keperluan untuk struktur data tambahan dan meminimumkan bilangan lelaran yang diperlukan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Nilai Unik dengan Cekap daripada Susunan Objek dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!