この記事は編集レビューを必要としています。ぜひご協力ください。
この翻訳は不完全です。英語から この記事を翻訳 してください。
概要
提供された関数によって実装されるテストを渡すすべての要素で新しいtyped arrayを生成します。このメソッドはArray.prototype.filter()
と同じアルゴリズムを持っています。TypedArrayはここではtyped array typesの一つです。
構文
typedarray.filter(callback[, thisArg])
引数
callback
- typed arrayの各要素をテストする関数。次の引数で呼び出されます
(element, index, typedarray)
。 要素を保つためにtrue
を返します。さもなければ、false
を返します。 thisArg Optional
callback
を実行するときにthis
として使用する値。
説明
filter()
メソッドはtyped array内の各要素に対して一度提供されたcallback
関数を呼び出し、callback
がtrue値を返すすべての値の新しいtyped arrayを構築します。callback
関数は、値を割り当てたtyped arrayのインデックスに対してのみ呼び出されます。削除されたり、決して値を割り当てていないインデックスに対しては、呼び出されません。callback
を渡さないtyped arrayの要素は単純にスキップされ、新しいtyped arrayに含められません。
callback
は三つの引数で呼び出されます。:
- 要素の値
- 要素のインデックス
- 処理されるtyped arrayオブジェクト
thisArg
引数はfilter
に渡され、callback
が呼び出されると、this
値として使用するためにcallback
に渡されます。さもなければ、undefined
値がthis
値として使用するために渡されます。callback
によって最終的に観察可能なthis
値はthe usual rules for determining the this
seen by a functionに応じて決定されます。
filter()
は呼び出されたtyped arrayを変化させません。
filter()
によって処理される要素の範囲は、callback
の最初の呼び出し前に設定されます。filter()
の呼び出しが始まったあとでtyped arrayに追加された要素はcallback
によって処理されません。typed arrayの存在している要素が変更されたり、削除されたら。callback
に渡される値は、filter()
が処理する直前の値になります。
例
すべての小さな値をフィルタリングする
次の例では、10以下の値をもつすべての要素を取り除いてフィルターされたtyped arrayを生成するためにfilter()
を使用します。
function isBigEnough(element, index, array) { return element >= 10; } new Uint8Array([12, 5, 8, 130, 44]).filter(isBigEnough); // Uint8Array [ 12, 130, 44 ]
arrow functionsを使用してtyped arrayの要素をフィルターする
Arrow functions は、同じテストに対して短い構文を提供します。
new Uint8Array([12, 5, 8, 130, 44]).filter(elem => elem >= 10); // Uint8Array [ 12, 130, 44 ]
仕様
仕様 | 状況 | コメント |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'TypedArray.prototype.filter' in that specification. |
Standard | 初期定義。 |
ブラウザ実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本サポート | 未サポート | 38 (38) | 未サポート | 未サポート | 未サポート |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本サポート | 未サポート | 未サポート | 38.0 (38) | 未サポート | 未サポート | 未サポート |