find【値検索 (ユーザ関数)】
findIndex【インデックス検索 (ユーザ関数)】
indexOf【検索 (順方向)】
lastIndexOf【検索 (逆方向)】

%TypedArray%.prototype.find【値検索 (ユーザ関数)】

メモ

構文

find(predicate [ , thisArg ] )

 要素の値 (undefined:検索要素なし)
predicate ユーザ関数 (コールバック関数:詳細は下記参照)
thisArg ユーザ関数 (コールバック関数)内でthis で参照されるオブジェクト

TypeError 例外 predicate が呼び出し可能な関数オブジェクト以外
predicate (ユーザ関数)
引数名 (例)説明
value要素値
index要素インデックス
typedArray%TypedArray%【型指定配列ビュー】オブジェクト
戻り値型説明
Booleantrue:検索対象要素
false:検索対象要素以外

/**
* find 用ユーザ関数 (コールバック関数) (判定値 this 以上を検索)
 * @param  {number}     value      要素値
 * @param  {number}     index      要素インデックス
 * @param  {Int32Array} typedArray %TypedArray%【型指定配列ビュー】オブジェクト
 * @return {boolean}               true:検索対象要素 / false:検索対象要素以外
 */
function findFunc(value, index, typedArray) {
  return (this <= value);
}

var array = [ 1, -2, 3, -4, 5 ];
var typedArray = new Int32Array(array);
console.log(typedArray.find(findFunc, 0));  // 0 以上を検索
// 出力: 1
console.log(typedArray.find(findFunc, 3));  // 3 以上を検索
// 出力: 3

%TypedArray%.prototype.findIndex【インデックス検索 (ユーザ関数)】

メモ

構文

findIndex( predicate [ , thisArg ] )

 要素のインデックス (-1:検索要素なし)
predicate ユーザ関数 (コールバック関数:詳細は下記参照)
thisArg ユーザ関数 (コールバック関数)内でthis で参照されるオブジェクト

TypeError 例外 predicate が呼び出し可能な関数オブジェクト以外
predicate (ユーザ関数)
引数名 (例)説明
value要素値
index要素インデックス
typedArray%TypedArray%【型指定配列ビュー】オブジェクト
戻り値型説明
Booleantrue:検索対象要素
false:検索対象要素以外

/**
* find 用ユーザ関数 (コールバック関数) (判定値 this 以上を検索)
 * @param  {number}     value      要素値
 * @param  {number}     index      要素インデックス
 * @param  {Int32Array} typedArray %TypedArray%【型指定配列ビュー】オブジェクト
 * @return {boolean}               true:検索対象要素 / false:検索対象要素以外
 */
function findFunc(value, index, typedArray) {
  return (this <= value);
}

var array = [ 1, -2, 3, -4, 5 ];
var typedArray = new Int32Array(array);
console.log(typedArray.findIndex(findFunc, 0));  // 0 以上を検索
// 出力:0
console.log(typedArray.findIndex(findFunc, 3));  // 3 以上を検索
// 出力:2

%TypedArray%.prototype.indexOf【検索 (順方向)】

メモ

構文

indexOf( searchElement [ , fromIndex ] )

 一致要素インデックス (-1:一致なし)
searchElement 検索要素
fromIndex 検索開始インデックス
省略:0
配列の要素数 ≦:検索失敗 (-1 返却)
< 0:最終要素からのオフセット (-1:最終要素 / 先頭位置より前の場合、先頭インデックス)

var array = [ 1, 2, 3, 3, 3, 4, 5 ];
var typedArray = new Int32Array(array);
console.log(typedArray.indexOf(3));
// 出力:2
console.log(typedArray.indexOf(-3));
// 出力:-1
console.log(typedArray.indexOf(3, 1));
// 出力:2
console.log(typedArray.indexOf(3, 2));
// 出力:2
console.log(typedArray.indexOf(3, 3));
// 出力:3
console.log(typedArray.indexOf(3, 4));
// 出力:4
console.log(typedArray.indexOf(3, 5));
// 出力:-1
console.log(typedArray.indexOf(3, 6));
// 出力:-1
console.log(typedArray.indexOf(3, -1));
// 出力:-1
console.log(typedArray.indexOf(3, -2));
// 出力:-1
console.log(typedArray.indexOf(3, -3));
// 出力:4
console.log(typedArray.indexOf(3, -4));
// 出力:3
console.log(typedArray.indexOf(3, -5));
// 出力:2
console.log(typedArray.indexOf(3, -6));
// 出力:2
console.log(typedArray.indexOf(3, -7));
// 出力:2

%TypedArray%.prototype.lastIndexOf【検索 (逆方向)】

メモ

構文

lastIndexOf( searchElement [ , fromIndex ] )

 一致要素インデックス (-1:一致なし)
searchElement 検索要素
fromIndex 検索開始インデックス
省略:0
配列の要素数 ≦:検索失敗 (-1 返却)
< 0:最終要素からのオフセット (-1:最終要素 / 先頭位置より前の場合、先頭インデックス)

var array = [ 1, 2, 3, 3, 3, 4, 5 ];
var typedArray = new Int32Array(array);
console.log(typedArray.lastIndexOf(3));
// 出力:4
console.log(typedArray.lastIndexOf(-3));
// 出力:-1
console.log(typedArray.lastIndexOf(3, 1));
// 出力:-1
console.log(typedArray.lastIndexOf(3, 2));
// 出力:2
console.log(typedArray.lastIndexOf(3, 3));
// 出力:3
console.log(typedArray.lastIndexOf(3, 4));
// 出力:4
console.log(typedArray.lastIndexOf(3, 5));
// 出力:4
console.log(typedArray.lastIndexOf(3, 6));
// 出力:4
console.log(typedArray.lastIndexOf(3, -1));
// 出力:4
console.log(typedArray.lastIndexOf(3, -2));
// 出力:4
console.log(typedArray.lastIndexOf(3, -3));
// 出力:4
console.log(typedArray.lastIndexOf(3, -4));
// 出力:3
console.log(typedArray.lastIndexOf(3, -5));
// 出力:2
console.log(typedArray.lastIndexOf(3, -6));
// 出力:-1
console.log(typedArray.lastIndexOf(3, -7));
// 出力:-1