取得してきたデータのあるキーでdistinct的にしたい場合。
配列だったらSetを使う気がする。
var array = new Set([3, 5, 5, 7])
var distinctArray= Array.from(array)
console.log(distinctArray)
// [3,5,7]
DBからぶっ個抜いてきてclass(オブジェクト)の配列の時どうしようってお話。
Laravelのcollectionとかならuniqueとか使えばよいが・・・
var users = [
{"id" : 1, "name": "かんきち", "group_name": "ゆり"},
{"id" : 2, "name": "だいじろう", "group_name": "さくら"},
{"id" : 3, "name": "けいいち", "group_name": "ゆり"}
]
var distinct = new Map(
users.map((u) => [u.group_name, u])
)
console.log(distinct)
// [{"id" : 1, "name": "かんきち", "group_name": "ゆり"}, {"id" : 2, "name": "だいじろう", "group_name": "さくら"}]
こんな感じでmapを使ってあげるとよさそう
コメント