关键词

JS array数组检测方式解析

JS array数组检测方式解析

在JS中,检查一个变量是否为数组的方法有几种。接下来就一并介绍。

Array.isArray()

Array.isArray() 方法用于判断一个变量是否为数组,返回布尔值。例如:

let arr = [1, 2, 3];
console.log(Array.isArray(arr)); // 输出 true

instanceof

instanceof 运算符可以通过ProtoType链判断是否为数组,例如:

let arr = [1, 2, 3];
console.log(arr instanceof Array); // 输出 true
console.log(arr instanceof Object); // 输出 true

Object.prototype.toString.call()

常用于其他DOM类型或自定义类的对象类型检测,但同样适用于数组类型的检测,例如:

let arr = [1, 2, 3];
console.log(Object.prototype.toString.call(arr) == '[object Array]'); // 输出 true

示例

function checkArray(arr) {
  if (Array.isArray(arr)) {
    console.log("It's an array.");
  } else {
    console.log("It's not an array.");
  }
}
checkArray([1, 2, 3]); // 输出 It's an array.
checkArray({name: 'john'}); // 输出 It's not an array.
function checkArray2(arr) {
  if (arr instanceof Array) {
    console.log("It's an array.");
  } else {
    console.log("It's not an array.");
  }
}
checkArray2([1, 2, 3]); // 输出 It's an array.
checkArray2({name: 'john'}); // 输出 It's not an array.
function checkArray3(arr) {
  if (Object.prototype.toString.call(arr) == '[object Array]') {
    console.log("It's an array.");
  } else {
    console.log("It's not an array.");
  }
}
checkArray3([1, 2, 3]); // 输出 It's an array.
checkArray3({name: 'john'}); // 输出 It's not an array.

以上就是JS array数组检测方式的详细攻略。

本文链接:http://task.lmcjl.com/news/10183.html

展开阅读全文