find【値検索 (ユーザ関数)】
findLast【値検索 (後方・ユーザ関数)】
findIndex【インデックス検索 (ユーザ関数)】
findLastIndex【インデックス検索 (後方・ユーザ関数)】
includes【存在確認】
indexOf【検索 (順方向)】
lastIndexOf【検索 (逆方向)】

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

メモ

概要

その他検索

外部リンク

構文

typedArray.find(predicate [, thisArg ] )
typedArray.findLast( 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 funcFind(value, index, typedArray) {
  return (this <= value);
}

const array = [ 1, -2, 3, -4, 5, -5, 4, -3, 2, -1 ];
const typedArray = new Int32Array(array);

// find【値検索 (ユーザ関数)】
console.log( typedArray.find(funcFind, 0) );  // 0 以上を検索
// 出力:1
console.log( typedArray.find(funcFind, 3) );  // 3 以上を検索
// 出力:3
console.log( typedArray.find(funcFind, 10) ); // 10 以上を検索
// 出力:undefined

// findLast【値検索 (後方・ユーザ関数)】
console.log( typedArray.findLast(funcFind, 0) );  // 0 以上を検索
// 出力:2
console.log( typedArray.findLast(funcFind, 3) );  // 3 以上を検索
// 出力:4
console.log( typedArray.findLast(funcFind, 10) ); // 10 以上を検索
// 出力:undefined

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

メモ

概要

その他検索

外部リンク

構文

typedArray.findIndex( predicate [ , thisArg ] )
typedArray.findLastIndex( 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 funcFind(value, index, typedArray) {
  return (this <= value);
}

const array = [ 1, -2, 3, -4, 5, -5, 4, -3, 2, -1 ];
//             (0) (1)(2) (3)(4) (5)(6) (7)(8) (9)
const typedArray = new Int32Array(array);

// findIndex【インデックス検索 (ユーザ関数)】
console.log( typedArray.findIndex(funcFind, 0) );  // 0 以上を検索
// 出力:0
console.log( typedArray.findIndex(funcFind, 3) );  // 3 以上を検索
// 出力:2
console.log( typedArray.findIndex(funcFind, 10) ); // 10 以上を検索
// 出力:-1

// findLastIndex【インデックス検索 (後方・ユーザ関数)】
console.log( typedArray.findLastIndex(funcFind, 0) );  // 0 以上を検索
// 出力:8
console.log( typedArray.findLastIndex(funcFind, 3) );  // 3 以上を検索
// 出力:6
console.log( typedArray.findLastIndex(funcFind, 10) ); // 10 以上を検索
// 出力:-1

%TypedArray%.prototype.includes【存在確認】

メモ

概要

  • 指定要素が存在するか確認

関連

外部リンク

構文

typedArray.includes( searchElement[, fromIndex] )

確認結果
true:要素は存在
false:要素は存在しない
searchElement検索要素
fromIndex検索開始インデックス (詳細は下記参照)
fromIndex
(検索開始インデックス)
備考
省略0 (先頭インデックス)
0 ≦ fromIndex配列の要素数 先頭(0)からのオフセット
(-配列の要素数) < fromIndex < 0 最終要素(-1)からのオフセット
fromIndex ≦  (-配列の要素数) 0 (先頭インデックス)
-Infinity【負の無限大 (-∞)】 を含む)
配列の要素数fromIndex
(Infinity【正の無限大 (+∞)】 を含む)
検索失敗 (-1 返却)

const arrayPlus = [ 0, 1, 2, 3, 4, 5 ];
const typedArrayPlus = new Int32Array(arrayPlus);
console.log( typedArrayPlus.includes(2) );       // 出力:true
console.log( typedArrayPlus.includes(-9) );      // 出力:false
console.log( typedArrayPlus.includes(2, 3) );    // 出力:false

const arrayMinus = [ -6, -5, -4, -3, -2, -1 ];
const typedArrayMinus = new Int32Array(arrayMinus);
console.log( typedArrayMinus.includes(-4) );     // 出力:true
console.log( typedArrayMinus.includes(9) );      // 出力:false
console.log( typedArrayMinus.includes(-4, -3) ); // 出力:false

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

メモ

概要

その他検索

外部リンク

構文

typedArray.indexOf( searchElement [, fromIndex ] )
typedArray.lastIndexOf( searchElement [, fromIndex ] )

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

const array = [ 1, 2, 3, 3, 3, 4, 5 ];
//             (0)(1)(2)(3)(4)(5)(6)
const typedArray = new Int32Array(array);

// indexOf【検索 (順方向)】
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

// lastIndexOf【検索 (逆方向)】
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