Dengan asumsi saya memiliki yang berikut ini:
var array =
[
{"name":"Joe", "age":17},
{"name":"Bob", "age":17},
{"name":"Carl", "age": 35}
]
Apa cara terbaik untuk bisa mendapatkan array dari semua umur yang berbeda sehingga saya mendapatkan array hasil:
[17, 35]
Apakah ada beberapa cara saya bisa menyusun data atau metode yang lebih baik sehingga saya tidak perlu beralih melalui setiap array memeriksa nilai "usia" dan memeriksa terhadap array lain untuk keberadaannya, dan menambahkannya jika tidak?
Jika ada cara saya bisa menarik usia yang berbeda tanpa iterasi ...
Cara tidak efisien saat ini saya ingin meningkatkan ... Jika itu berarti bahwa alih-alih "array" menjadi array objek, tetapi "peta" objek dengan beberapa kunci unik (yaitu "1,2,3") yang akan menjadi oke juga. Saya hanya mencari cara yang paling efisien kinerja.
Berikut ini adalah bagaimana saya saat ini melakukannya, tetapi bagi saya, iterasi tampaknya hanya payah untuk efisiensi meskipun itu berfungsi ...
var distinct = []
for (var i = 0; i < array.length; i++)
if (array[i].age not in distinct)
distinct.push(array[i].age)
Set
objek dan map
s boros. Pekerjaan ini hanya membutuhkan .reduce()
tahap sederhana .