Rumah >hujung hadapan web >tutorial js >Bagaimana Mengeluarkan Nilai Harta Unik dengan Cekap daripada Susunan Objek JavaScript?

Bagaimana Mengeluarkan Nilai Harta Unik dengan Cekap daripada Susunan Objek JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-12-03 12:56:11365semak imbas

How to Efficiently Extract Unique Property Values from an Array of JavaScript Objects?

Mengambil Nilai Berbeza dengan Cekap daripada Tatasusunan Objek dalam JavaScript

Memandangkan tatasusunan objek, tugasnya adalah untuk mengekstrak tatasusunan baharu yang mengandungi hanya nilai berbeza bagi sesuatu tertentu harta benda. Sebagai contoh, pertimbangkan tatasusunan berikut:

var array = 
    [
        { "name": "Joe", "age": 17 }, 
        { "name": "Bob", "age": 17 }, 
        { "name": "Carl", "age": 35 }
    ]

Objektifnya adalah untuk mendapatkan tatasusunan yang mengandungi umur yang berbeza daripada tatasusunan ini, menghasilkan:

[17, 35]

Penyelesaian Berulang

Pendekatan mudah melibatkan lelaran melalui objek dalam tatasusunan dan menyemak sama ada umur setiap objek wujud dalam hasilnya tatasusunan. Jika tidak, umur ditambah pada tatasusunan hasil. Pendekatan ini, walaupun berfungsi, tidak cekap kerana pergantungannya pada berbilang lelaran dan perbandingan.

var distinct = []
for (var i = 0; i < array.length; i++)
    if (array[i].age not in distinct)
        distinct.push(array[i].age)

Penyelesaian Dioptimumkan Menggunakan Set ES6

Untuk pengendalian yang lebih cekap, ES6 /ES2015 menawarkan struktur data Set, yang membolehkan penyimpanan nilai unik. Begini cara untuk menggunakannya:

const data = [
  { "group": 'A', "name": 'SD' }, 
  { "group": 'B', "name": 'FI' }, 
  { "group": 'A', "name": 'MM' },
  { "group": 'B', "name": 'CO'}
];

const unique = [...new Set(data.map(item => item.group))]; // [ 'A', 'B']

Dengan memetakan tatasusunan objek kepada tatasusunan nilai harta yang diingini dan mencipta Set daripadanya, kami menghapuskan nilai pendua. Kemudian, menukar Set kembali kepada tatasusunan menggunakan operator hamparan (...) menghasilkan hasil yang diingini.

Atas ialah kandungan terperinci Bagaimana Mengeluarkan Nilai Harta Unik dengan Cekap daripada Susunan Objek 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