isArray【配列判定】
every【有効判定 (全要素有効)】
some【有効判定 (一部要素有効)】
Array.isArray【配列判定】
メモ
概要
- 配列か否かの判定
関連
外部リンク
- ECMA-262 (英語)
Array.isArray ( arg ) ES2024 (15) ES2023 (14) ES2022 (13)
構文
Array.isArray( arg )
判定結果
true:配列
false:その他
arg判定オブジェクト
例
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【有効判定 (全要素有効)】
メモ
概要
- 全ての要素がコールバック関数で有効 (true) か判定
- コールバック関数で無効 (false) となった時点で処理中止
- 存在しない要素に対しては判定なし
- コールバック関数で配列の変更も可能
関連
- isArray【配列判定】
- 一部要素が有効(true)か判定:some【有効判定 (一部要素有効)】
- 要素の抽出:filter【抽出生成】
- 要素の変換:map【配列変換生成】
外部リンク
- ECMA-262 (英語)
Array.prototype.every ( callbackfn [ , thisArg ] ) ES2024 (15) ES2023 (14) ES2022 (13)
構文
array.every( callbackfn[, thisArg] )
判定結果
true:全ての配列要素に対して、callbackfn が true返却
false:その他
callbackfn有効判定用コールバック関数 (詳細は下記参照)
thisArgcallbackfn内でthis で参照されるオブジェクト
TypeError 例外callbackfn 呼び出し不可
コールバック関数 引数名 (例) | 説明 |
---|---|
value | 要素値 |
index | 要素インデックス |
array | 配列 オブジェクト |
戻り値型 | 説明 |
Boolean型 | true:有効な要素 false:無効な要素 |
例
// 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【有効判定 (一部要素有効)】
メモ
概要
- 一部要素がコールバック関数で有効 (true) か判定
- コールバック関数で有効 (true) となった時点で処理中止
- 存在しない要素に対しては判定なし
- コールバック関数で配列の変更も可能
関連
- isArray【配列判定】
- 全ての要素が有効(true)か判定:every【有効判定 (全要素有効)】
- 要素の抽出:filter【抽出生成】
- 要素の変換:map【配列変換生成】
外部リンク
- ECMA-262 (英語)
Array.prototype.some ( callbackfn [ , thisArg ] ) ES2024 (15) ES2023 (14) ES2022 (13)
構文
array.some( callbackfn[, thisArg] )
判定結果
true:配列要素に対して、callbackfnが1つでもtrue返却
false:その他
callbackfn有効判定用コールバック関数
thisArgcallbackfn内でthis で参照されるオブジェクト
TypeError 例外callbackfnが呼び出し不可
コールバック関数 引数名 (例) | 説明 |
---|---|
value | 要素値 |
index | 要素インデックス |
array | 配列 オブジェクト |
戻り値型 | 説明 |
Boolean型 | true:有効な要素 false:無効な要素 |
例
// 要素値が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 例外