このロケールの翻訳が存在しないため、英語バージョンのコンテンツを表示しています。 Help us translate this article!
概要
要素は、与えられたテスト関数を満たした場合、typed arrayのvalueを返します。さもなければ、undefinedが返されます。TypedArrayはここではtyped array typesの一つです。
findIndex() メソッドも確かめて下さい。そのメソッドは値のかわりにtyped arrayの見つかった要素のindexを返します。
構文
typedarray.find(callback[, thisArg])
引数
callback- typed array内の各要素上で実行する関数。三つの引数を持ちます。:
element- typed array内で処理されている現在の要素
index- typed array内で処理されている現在のインデックス
arrayfindが呼び出されたarray
thisArg- オプション。
callbackを実行するときthisとして使用するオブジェクト。
説明
find メソッドはcallback関数がtrue値を返す要素を見つけるまでtyped array 内に存在している各要素に対して一度callback関数を実行します。そのような要素が見つかったら、findはすぐに要素の値を返します。さもなければ、findはundefinedを返します。callbackは値を割り当てたtyped array内のインデックスに対してのみ呼び出されます。削除されたり決して割り当てていないインデックスに対しては呼び出されません。
callbackは三つの引数で呼び出されます。: 要素の値、要素のインデックス、処理されるtyped arrayオブジェクト。
thisArg 引数がfindに渡されたら、 callbackの各呼び出しに対してthisとして使用されます。渡されない場合、undefinedが使用されます。
findは呼び出されているtyped arrayを変更しません。
findによって処理される要素の範囲はcallbackの最初の呼び出し前に設定されます。findの呼び出しが始まったあとでtyped array に追加された要素はcallbackによって処理されません。存在していて処理されていないtyped arrayの要素がcallbackによって変更されたら、処理されているcallbackに渡される値は、findが要素を処理する直前の値です。
例
例: typed array内の素数を探す
次の例では、素数であるtyped array内の要素を探します(または、素数でない場合、undefinedを返します)。
function isPrime(element, index, array) {
var start = 2;
while (start <= Math.sqrt(element)) {
if (element % start++ < 1) {
return false;
}
}
return element > 1;
}
var uint8 = new Uint8Array([4, 5, 8, 12]);
console.log(uint8.find(isPrime)); // 5
仕様
| 仕様 | ステータス | コメント |
|---|---|---|
| ECMAScript 2015 (6th Edition, ECMA-262) %TypedArray%.prototype.find の定義 |
標準 | 初期定義。 |
ブラウザ実装状況
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| 基本サポート | 未サポート | 37.0 (37.0) | 未サポート | 未サポート | 未サポート |
| 機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| 基本サポート | 未サポート | 未サポート | 37.0 (37.0) | 未サポート | 未サポート | 未サポート |