次のようなコレクションがあるとします。
{
"id": 1,
"name": "jonas",
},
{
"id": 2,
"name": "jonas",
},
{
"id":3,
"name": "smirk",
}
入手方法:
個別の名前の数。この場合は 2
この場合、jonas と smirk という異なる名前は?
次のようなコレクションがあるとします。
{
"id": 1,
"name": "jonas",
},
{
"id": 2,
"name": "jonas",
},
{
"id":3,
"name": "smirk",
}
入手方法:
個別の名前の数。この場合は 2
この場合、jonas と smirk という異なる名前は?
いくつかのバックボーンとアンダースコア マジックを使用して、collection.pluck
とを組み合わせ_.uniq
ます。
pluck collection.pluck(attribute) コレクション
内の各モデルから属性を取り出します。map を呼び出し、反復子から単一の属性を返すことと同じです。uniq _.uniq(array, [isSorted], [iterator])
=== を使用してオブジェクトの等価性をテストし、配列の重複のないバージョンを生成します。
[...]
var c = new Backbone.Collection([
{id: 1, name: "jonas"},
{id: 2, name: "jonas"},
{id: 3, name: "smirk"}
]);
var names = _.uniq(c.pluck('name'));
console.log(names.length);
console.log(names);