JavaScriptで変数が配列(Array)かどうかを判定する方法
変数が配列かどうかを確認する方法
JavaScriptにおいて、ある変数が配列(Array)かどうかを判定するには、「instanceof」演算子を使用します。基本的な構文は以下のとおりです。
variable instanceof Array
この式は、変数がArrayオブジェクトのインスタンスであれば true を、そうでなければ false を返します。
サンプルコード
次の例では、変数「sports」が配列かどうかを判定し、その結果に応じてアラートを表示します。
<html>
<body>
<script>
var sports = [ "tennis", "football", "cricket" ];
if (sports instanceof Array) {
alert('Array!');
} else {
alert('Not an array');
}
</script>
</body>
</html>
このコードを実行すると、sports は配列として定義されているため、「Array!」というアラートが表示されます。もし変数が文字列や数値などの他の型であれば、「Not an array」と表示されます。
補足:Array.isArray() メソッドを使う方法
ES5以降では、より確実な判定方法として Array.isArray() メソッドが提供されています。instanceof は iframe など異なるグローバルスコープをまたぐ配列の判定に失敗することがありますが、Array.isArray() はそのようなケースでも正しく動作します。現代のJavaScript開発ではこちらの使用が推奨されています。
if (Array.isArray(sports)) {
alert('Array!');
} else {
alert('Not an array');
}
-
JavaScriptで配列内のNaNを検出する方法|NaN !== NaNの性質とNumber.isNaN()の使い方
真偽値(truthy/falsy)が混在する配列から、元の配列内でNaNに該当する要素のインデックスを抽出する関数の書き方を解説します。NaN !== NaN という特殊な性質NaNのデータ型は実は「number」です。NaNはfalsy(偽値)な値ですが、他のどのデータ型や変数にも存在しない特異な性質を持っています。それが「NaN === NaN が false を返す」という点です。このような挙動を示すのはNaNだけです。この性質をうまく利用すれば、NaNのインデックスを簡単に特定できます。コードは以下のとおりです。const arr = [7, 1, 123abc, undefined,
-
【JavaScript】配列内に数値(整数)が含まれているかどうかを判定する方法
はじめに本記事では、配列の中に数値型(number)の要素が含まれているかどうかを判定するJavaScript関数の実装方法を解説します。今回求められている仕様は以下のとおりです。関数は要素の配列を受け取る配列内に number 型の要素が1つでも存在するかをチェックする存在すれば true、存在しなければ false を返す実装例const arr = ["123", "", "21345", "90"];const findInteger = (arr = []) => { cons