私は最近underscore.jsの力を発見しましたが、私が親切に提案を求める方法にはまだ新しいものです。
これからどのように取得しますか:
[
[{
"name": "Type 2",
"id": 14
}],
[{
"name": "Type 1",
"id": 13
}, {
"name": "Type 3",
"id": 15
}],
[{
"name": "Type 2",
"id": 14
}],
[{
"name": "Type 1",
"id": 13
}]
]
これに:
["Type 1","Type 2","Type 3"]
つまり、重複する「名前」プロパティのみはありません。
どんな提案も大歓迎です。
_(data).chain().flatten().pluck('name').unique().value()
(ネストされたリストをフラットなリストに変換し、リスト内の各オブジェクトからname
を選択して、一意にします。)
var arr = _.uniq(_.map(_.flatten(array), function(e) {
return e.name;
}));
_.uniq(_.pluck(x,'name'));
上記のコードは、異なる「名前」属性を抽出するのに十分です
簡単な方法:
1._.mapを使用してすべての名前を取得します
var names = _.map(items, function(item) { return item.name});
2.その名前から_.uniqを取得します
var uniqueNames = _.uniq(names);