JavaScript 如何检查一个变量是否为数组
本文将展示如何检查给定变量的值是否为数组。
在JavaScript中,我们可以使用3种方法来检查一个变量是否为数组,这些方法包括:
- 使用isArray()方法:
- 使用instanceof运算符:
- 检查构造函数类型:
方法1:使用JavaScript的isArray()方法
这个方法检查传入的变量是否为数组对象。
语法:
Array.isArray(variableName)
如果变量是一个数组,它将返回一个true布尔值,如果不是则返回false。这在下面的示例中展示出来。
示例1: 在这个示例中,我们将使用JavaScript中的isArray()方法来检查给定的变量是否是一个数组。
function checkArray() {
let str = 'This is a string';
let num = 25;
let arr = [10, 20, 30, 40];
let ans = Array.isArray(str);
console.log("Output for String: " + ans);
ans = Array.isArray(num);
console.log("Output for Number: " + ans);
ans = Array.isArray(arr);
console.log("Output for Array: " + ans);
}
checkArray();
输出
Output for String: false
Output for Number: false
Output for Array: true
方法2:使用JavaScript instanceof操作符
它用于测试构造函数的prototype属性是否出现在对象的原型链中的任何位置。这可以用于判断给定的变量是否具有’Array’的原型。
语法:
variable instanceof Array
返回值: 如果变量与指定的类型(这里是数组)相同,则运算符返回 true 布尔值;否则返回 false。下面的示例中展示了这个过程。
示例: 在这个示例中,我们将使用 instanceof 运算符在 JavaScript 中检查一个给定的变量是否是数组。
function checkArray() {
let str = 'This is a string';
let num = 25;
let arr = [10, 20, 30, 40];
let ans = str instanceof Array;
console.log("Output for String:" + ans);
ans = num instanceof Array;
console.log("Output for Number:" + ans);
ans = arr instanceof Array;
console.log("Output for Array:" + ans);
}
checkArray();
输出
Output for String:false
Output for Number:false
Output for Array:true
方法3:检查变量的构造函数属性
另一种检查变量是否为数组的方法是通过检查其构造函数是否为Array。
语法:
variable.constructor === Array
如果变量与指定的变量相同(例如一个数组),则条件为真,否则为假。下面的示例展示了这一点。
示例: 在这个示例中,我们将通过检查变量的构造函数属性来判断给定的变量是否为数组。
function checkArray() {
let str = 'This is a string';
let num = 25;
let arr = [10, 20, 30, 40];
let ans = str.constructor === Array;
console.log("Output for String:" + ans);
ans = num.constructor === Array;
console.log("Output for Number:" + ans);
ans = arr.constructor === Array;
console.log("Output for Array:" + ans);
}
checkArray();
输出
Output for String:false
Output for Number:false
Output for Array:true
极客教程