JS代码校验一个变量是否为数组
时间: 2024-03-16 14:48:04 浏览: 18
可以使用JavaScript的Array.isArray()方法来判断一个变量是否为数组,示例代码如下:
```
let myVar = [1, 2, 3];
if (Array.isArray(myVar)) {
console.log("myVar is an array");
} else {
console.log("myVar is not an array");
}
```
如果myVar是数组,则输出"myVar is an array",否则输出"myVar is not an array"。
相关问题
JS代码校验一个变量是否为数组对象
可以使用Array.isArray()方法来判断一个变量是否为数组对象。该方法会返回一个布尔值,如果传入的变量为数组对象,则返回true,否则返回false。以下是示例代码:
```
let arr = [1, 2, 3];
let obj = {a: 1, b: 2};
console.log(Array.isArray(arr)); // 输出 true
console.log(Array.isArray(obj)); // 输出 false
```
JS代码校验一个变量是否为对象
可以使用typeof操作符来判断一个变量是否为对象。但是需要注意的是,typeof操作符对于数组、null、Date等特殊类型的数据也会返回"object",因此需要进行一些特殊处理。以下是示例代码:
```
let obj = {a: 1, b: 2};
let arr = [1, 2, 3];
let date = new Date();
let nullObj = null;
console.log(typeof obj === 'object'); // 输出 true
console.log(typeof arr === 'object'); // 输出 true
console.log(typeof date === 'object'); // 输出 true
console.log(typeof nullObj === 'object'); // 输出 false
```
如果需要严格判断一个变量是否为普通对象,可以使用以下代码:
```
function isPlainObject(obj) {
if (typeof obj !== 'object' || obj === null) {
return false;
}
const proto = Object.getPrototypeOf(obj);
return proto === null || proto === Object.prototype;
}
let obj = {a: 1, b: 2};
let arr = [1, 2, 3];
let date = new Date();
let nullObj = null;
console.log(isPlainObject(obj)); // 输出 true
console.log(isPlainObject(arr)); // 输出 false
console.log(isPlainObject(date)); // 输出 false
console.log(isPlainObject(nullObj)); // 输出 false
```
上述代码中,isPlainObject()方法会先判断传入的参数是否为object类型,如果不是,则直接返回false。然后获取传入对象的原型对象,如果原型对象为null或者是Object.prototype,则说明该对象是普通对象,返回true,否则返回false。