isArray【配列判定】メソッド
every【有効判定 (全要素有効)】メソッド
some【有効判定 (一部要素有効)】メソッド

Array.isArray【配列判定】メソッド

メモ

  • 配列かどうかの判定

構文

Array.isArray ( arg )

  • arg:判定オブジェクト

  • true:配列
  • false:その他

var array = [1, 2, 3];
console.log(Array.isArray(array));  // 出力:true
console.log(Array.isArray(123));    // 出力:false
console.log(Array.isArray(null));   // 出力:false

Array.prototype.every【有効判定 (全要素有効)】メソッド

メモ

構文

every ( callbackfn [ , thisArg ] )

  • callbackfn:有効判定用コールバック関数
    引数名 (例)説明
    value要素値
    index要素インデックス
    array配列 オブジェクト
    戻り値型説明
    Boolean型true:有効な要素
    false:無効な要素
  • thisArg:有効判定用コールバック関数内でthis で参照されるオブジェクト

  • true:全ての配列要素に対して、callbackfn【コールバック関数】がtrue返却
  • false:その他

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

// true を返却する関数
function funcTrue1(value, index, array) {
  console.log(value, index, array, true);
  return true;
}
// true を返却する関数 (this を受け取り)
function funcTrue2(value, index, array) {
  console.log(value, index, array, this, true);
  return true;
}
// false を返却する関数
function funcFalse1(value, index, array) {
  console.log(value, index, array, false);
  return false;
}
// false を返却する関数 (this を受け取り)
function funcFalse2(value, index, array) {
  console.log(value, index, array, this, false);
  return false;
}

var array = [ , 10, 20, , 40]; // 1・4 番目の項目は省略 
console.log(array.every(funcTrue1));
// 出力:10 1 [1: 10, 2: 20, 4: 40] true
// 出力:20 2 [1: 10, 2: 20, 4: 40] true
// 出力:30 4 [1: 10, 2: 20, 4: 40] true
// 出力:true
console.log(array.every(funcTrue2, 123));
// 出力:10 1 [1: 10, 2: 20, 4: 40] Number { 123 } true
// 出力:20 2 [1: 10, 2: 20, 4: 40] Number { 123 } true
// 出力:30 4 [1: 10, 2: 20, 4: 40] Number { 123 } true
// 出力:true
console.log(array.every(funcFalse1));
// 出力:10 1 [1: 10, 2: 20, 4: 40] false
// 出力:false
console.log(array.every(funcFalse2, "abc"));
// 出力:10 1 [1: 10, 2: 20, 4: 40] String { "abc" } false
// 出力:false

console.log(array.every(null));  // TypeError 例外

Array.prototype.some【有効判定 (一部要素有効)】メソッド

メモ

構文

some ( callbackfn [ , thisArg ] )

  • callbackfn:有効判定用コールバック関数
    引数名 (例)説明
    value要素値
    index要素インデックス
    array配列 オブジェクト
    戻り値型説明
    Boolean型true:有効な要素
    false:無効な要素
  • thisArg:有効判定用コールバック関数内でthis で参照されるオブジェクト

  • true:配列要素に対して、callbackfn【コールバック関数】が1つでもtrue返却
  • false:その他

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

// 要素値が30の場合、true を返却する関数
function func(value, index, array) {
  var ret = false;
  if (value == 30) {
    ret = true;
  }
  console.log(value, index, array, ret);
  return ret;
}
// 要素値が this で指定した値の場合、true を返却する関数
function func2(value, index, array) {
  var ret = false;
  if (this == value) {
    ret = true;
  }
  console.log(value, index, array, this, ret);
  return ret;
}

var array = [ , 10, , 30, 40, 50]; // 1・3 番目の項目は省略 
console.log(array.some(func));
// 出力:10 1 [1: 10, 3: 30, 4: 40, 5: 50] false
// 出力:30 3 [1: 10, 3: 30, 4: 40, 5: 50] true
// 出力:true
console.log(array.some(func2, 40));
// 出力:10 1 [1: 10, 3: 30, 4: 40, 5: 50] Number { 40 } false
// 出力:30 3 [1: 10, 3: 30, 4: 40, 5: 50] Number { 40 } false
// 出力:40 4 [1: 10, 3: 30, 4: 40, 5: 50] Number { 40 } true
// 出力:true
console.log(array.some(func2, 100));
// 出力:10 1 [1: 10, 3: 30, 4: 40, 5: 50] Number { 100 } false
// 出力:30 3 [1: 10, 3: 30, 4: 40, 5: 50] Number { 100 } false
// 出力:40 4 [1: 10, 3: 30, 4: 40, 5: 50] Number { 100 } false
// 出力:50 5 [1: 10, 3: 30, 4: 40, 5: 50] Number { 100 } false
// 出力:false

console.log(array.some(null));  // TypeError 例外