JavaScript の配列の内容をチェックする
ここでは配列 (Array) の内容をチェックする方法について紹介します。
- Array.isArray() 配列であるかどうかのチェック
- some() 条件を満たす要素がひとつでもあるかチェック
- every() 全ての要素が条件を満たすかチェック
- includes() ある値が配列に含まれるかチェック
Array.isArray() 配列であるかどうかのチェック
Array.isArray(arg)関数を使うと、与えられた変数argが Array オブジェクトであるかどうかを判定できます。
let a = ['A', 'B', 'C'];
let b = Array.isArray(a);
console.log(`isArray(a) = ${b}`);
実行結果は次の通り。
isArray(a) = true
some() 条件を満たす要素がひとつでもあるかチェック
some(callbackfn)関数を使うと、特定の条件を満たす要素が一つでもあるかどうか簡単にチェックできます。
条件は some() に引数で渡すcallbackfn 関数で指定します。
callbackfn は関数で、三つの引数を受け取ります。ひとつは要素の値、インデックス、元の配列そのものの三つです。 条件に合致した時 callbackfn 関数で true を返します。
次の例では、配列の要素の中に 10 以上の値があるかどうかチェックしています。
let a = [5, 3, 15, 2, 35, 11];
let n = a.some((val, idx, obj) => {
console.log(`val=${val}, idx=${idx}, obj=${obj}`);
return 10<=val;
});
console.log(n); // true
実行結果からわかるように、条件を満たす (true を返す) 要素が一つあったら、コールバック関数の呼び出しは終了し、some() 関数が返ります。
every() 全ての要素が条件を満たすかチェック
every(callbackfn)関数を使うと、全ての要素が特定の条件を満たすか簡単にチェックできます。
条件は every() に引数で渡すcallbackfn 関数で指定します。
callbackfn は関数で、三つの引数を受け取ります。ひとつは要素の値、インデックス、元の配列そのものの三つです。 条件に合致した時 callbackfn 関数で true を返します。
次の例では、配列の全ての要素が 50 未満であるかチェックしています。
let a = [5, 3, 15, 2, 35, 11];
let n = a.every((val, idx, obj) => {
console.log(`val=${val}, idx=${idx}, obj=${obj}`);
return val<50;
});
console.log(n); // true
条件を変えて、全ての要素が 30 未満かどうかチェックすると、35 という要素があるので、この結果は false になります。
let a = [5, 3, 15, 2, 35, 11];
let n = a.every((val, idx, obj) => {
console.log(`val=${val}, idx=${idx}, obj=${obj}`);
return val<30;
});
console.log(n); // false
includes() ある値が配列に含まれるかチェック
includes(searchElement, fromIndex )関数を使うと、ある値が配列の要素の中に含まれるかチェックできます。
let a = [3, 5, 9, 15];
let b = a.includes(9);
console.log(b); // true
b = a.includes(2);
console.log(b); // false