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を実行する
実行前のコレクションをそのまま返す