Collectionのメソッド解説
.at(index)
index
番目のデータの値を返す
Array.prototype.at()
と似た動きをする
.keyAt(index)
index
番目のデータのキーを返す
.clear()
全ての要素を削除する
Map.prototype.clear()
と同等
.clone()
コレクションを複製する
サンプル: collection.clone()
.concat(...collections)
別のコレクションと組み合わせた新しいコレクションを作成する
サンプル: collection.concat(otherCollection)
.deleteAll()
全てのデータに対して存在する場合 delete()
メソッドを実行する
サンプル: collection.deleteAll()
.forEach(fn)
全てのデータに対して fn
を実行する
undefined
を返す
.each(fn)
.forEach()
と同等だが、 undefined
ではなくコレクションを返す
.map()
のように実行した結果を返すわけではなくて関数実行前のコレクションをそのまま返す
.equals(collection)
他のコレクションとデータが全て同じか確認する
サンプル: collection.equals(otherCollection)
メモ:JavaScriptで別々のオブジェクトは比較しても常にfalseになるので、データの比較には使えない
{} === {} // false
.every(fn, [thisArg])
全データに対して fn
を実行して全てに条件が当てはまるか検証する
サンプル: collection.every(item => item.name === 'hoge')
Array.every()と同等
.exists(prop, value)
DEPRECATED
コレクションにプロパティ名がpropの値がvalueであるデータが含まれているかを確認する
サンプル: collection.exists('name', 'hoge')
NOTE: idに対して存在するか確認する場合は collection.has(id)
を使う
非推奨(多分もう消えてる)
.filter(fn, [thisArg])
コレクションの全てのデータに対してfnを実行し、返り値がtrueな値のコレクションを作成する
サンプル: collection.filter(item => item.name === 'hoge')
Array.filter()と同等
.filterArray(fn, [thisArg])
DEPRECATED
.filter()
と同等。ただしコレクションではなく配列を返す
サンプル: collection.filterArray(item => item.name === 'hoge')
非推奨(多分もう消えてる)
.find(fn)
コレクションの全てのデータに対して fn
を実行し、返り値が true
になったデータを返す
Array.prototype.find()
と似た動作をする
.findKey(fn)
コレクションの全てのデータに対して fn
を実行し、返り値が true
になったデータのキーを返す
Array.prototype.findIndex()
と似た動作をする
.findAll(prop, value)
DEPRECATED
コレクションからプロパティ名がpropの値がvalueであるデータを全て返す
非推奨(多分もう消えてる)
.first(count)
countを省略するとコレクション内の最初の値、指定すると最初からcount個分の値の配列を返す
サンプル: collection.first()
, collection.first(3)
.firstKey(count)
countを省略するとコレクション内の最初のキー、指定すると最初からcount個分のキーの配列を返す
サンプル: collection.first()
, collection.first(3)
.last(count)
countを省略するとコレクション内の最後の値、指定すると最後からcount個分の値の配列を返す
サンプル: collection.last()
, collection.last(3)
.lastKey(count)
countを省略するとコレクション内の最後のキー、指定すると最後からcount個分のキーの配列を返す
サンプル: collection.last()
, collection.last(3)
.map(fn)
全てのデータに対して fn
を実行し、その結果を配列で返す
仕様は Array.prototype.map
に近い
.mapValues(fn)
全てのデータに対して fn
を実行し、その結果をコレクションで返す
仕様は Array.prototype.map
に近い
.partition(fnthisArg)
.random(count)
.randomKey(count)
.reduce(fn, initialValue)
Array.prototype.reduce()
と同等
.some(fn)
全データに対して fn
を実行してどれかに条件が当てはまるか検証する
サンプル: collection.some(item => item.name === 'hoge')
Array.prototype.some()
と同等
.sort(compareFunction)
コレクションのデータに対して compareFunction
を実装し、その返り値を元にソートされたコレクションを作成する
.sweep(fnthisArg)
.tap(fn)
コレクションに対して fn
を実行する
実行前のコレクションをそのまま返す