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

Array.prototype.find【値検索 (ユーザ関数)】メソッド

メモ

構文

find (predicate [ , thisArg ] )

  • predicate:ユーザ関数 (コールバック関数)
    引数名 (例)説明
    value要素値
    index要素インデックス
    arrayArray【配列】オブジェクト
    戻り値型説明
    Booleantrue:検索対象要素
    false:検索対象要素以外
  • thisArg:ユーザ関数 (コールバック関数)内でthis で参照されるオブジェクト

  • 要素の値
  • undefined:検索要素なし

  • TypeError 例外predicate が呼び出し可能な関数オブジェクト以外

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

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

Array.prototype.findIndex【インデックス検索 (ユーザ関数)】メソッド

メモ

構文

findIndex ( predicate [ , thisArg ] )

  • predicate:ユーザ関数 (コールバック関数)
    引数名 (例)説明
    value要素値
    index要素インデックス
    arrayArray【配列】オブジェクト
    戻り値型説明
    Booleantrue:検索対象要素
    false:検索対象要素以外
  • thisArg:ユーザ関数 (コールバック関数)内でthis で参照されるオブジェクト

  • 要素のインデックス
  • -1:検索要素なし

  • TypeError 例外predicate が呼び出し可能な関数オブジェクト以外

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

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

Array.prototype.includes【存在確認】メソッド

メモ

構文

includes ( searchElement [ , fromIndex ] )

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

  • true:要素は存在
  • false:要素は存在しない

存在確認比較

検索要素配列内要素結果
任意型が相違false (不一致)
Number【数値】NaNNaNtrue (一致)
+0-0
-0+0
同じ値
その他false (不一致)
Undefined型undefinedundefinedtrue (一致)
未指定
Null型nulltrue (一致)
String【文字列】長さもコードも一致true (一致)
その他false (不一致)
Boolean【真偽値】truetruetrue (一致)
falsefalse
その他false (不一致)
Symbol【シンボル】同じ値true (一致)
その他false (不一致)
その他 Object同じ値true (一致)
その他false (不一致)

var arrayPlus = [ 0, 1, 2, 3, 4, 5 ];
console.log(arrayPlus.includes(2));       // 出力:true
console.log(arrayPlus.includes(2, 3));    // 出力:false

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

var array = [ 0, NaN, , true ];
console.log(array.includes(NaN));         // 出力:true
console.log(array.includes(undefined));   // 出力:true
console.log(array.indexOf(NaN));          // 出力:-1
console.log(array.indexOf(undefined));    // 出力:-1

Array.prototype.indexOf【検索 (順方向)】メソッド

メモ

構文

indexOf ( searchElement [ , fromIndex ] )

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

  • 一致要素インデックス
  • -1:一致なし

var array = ["one", "same", "same", null, NaN, "six"];
//           [0]    [1]     [2]     [3]   [4]  [5]
//           [-6]   [-5]    [-4]    [-3]  [-2] [-1]

// 一致あり
console.log(array.indexOf("same"));     // 出力:1
console.log(array.indexOf("same", 1));  // 出力:1
console.log(array.indexOf("same", -5)); // 出力:1
console.log(array.indexOf("same", -99));// 出力:1
console.log(array.indexOf("same", 2));  // 出力:2
console.log(array.indexOf(null));       // 出力:3

// 一致なし
console.log(array.indexOf("same", 3));  // 出力:-1
console.log(array.indexOf("same", -3)); // 出力:-1
console.log(array.indexOf("sa"));       // 出力:-1
console.log(array.indexOf("same", 99)); // 出力:-1
console.log(array.indexOf(NaN));        // 出力:-1 (NaN === NaN) が false の為

Array.prototype.lastIndexOf【検索 (逆方向)】メソッド

メモ

構文

lastIndexOf ( searchElement [ , fromIndex ] )

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

  • 一致要素インデックス
  • -1:一致なし

var array = ["one", "same", "same", null, NaN, "six"];
//           [0]    [1]     [2]     [3]   [4]  [5]
//           [-6]   [-5]    [-4]    [-3]  [-2] [-1]

// 一致あり
console.log(array.lastIndexOf("same"));      // 出力:2
console.log(array.lastIndexOf("same", 2));   // 出力:2
console.log(array.lastIndexOf("same", -4));  // 出力:2
console.log(array.lastIndexOf("same", 1));   // 出力:1
console.log(array.lastIndexOf("same", -5));  // 出力:1
console.log(array.lastIndexOf(null));        // 出力:3

// 一致なし
console.log(array.lastIndexOf("same", 0));   // 出力:-1
console.log(array.lastIndexOf("same", -6));  // 出力:-1
console.log(array.lastIndexOf("sa"));        // 出力:-1
console.log(array.lastIndexOf("same", -99)); // 出力:-1
console.log(array.lastIndexOf(NaN));         // 出力:-1 (NaN === NaN) が false の為