js遍历对象的判断可以是不是数组
时间: 2024-10-28 13:10:44 浏览: 22
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
在JavaScript中,你可以通过几种方式来判断一个变量是否为数组,包括:
1. 使用`Array.isArray()`方法:这是最直接的方式,它会返回一个布尔值,如果变量是数组则为`true`,否则为`false`。
```javascript
let obj = [1, 2, 3];
if (Array.isArray(obj)) {
console.log('obj is an array');
} else {
console.log('obj is not an array');
}
```
2. 判断实例原型:虽然ES5以后推荐使用`Array.isArray()`,但在某些旧环境中,可以检查`Object.prototype.toString.call(variable)`的结果是否为`"[object Array]"`。
```javascript
function isArrayLike(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
}
let arr = [];
console.log(isArrayLike(arr)); // true
```
3. 判断`length`属性:数组有一个`length`属性,非数组一般不会有这个属性或者它的值不是数字。
```javascript
function isPlainObject(obj) {
return obj !== null && typeof obj === 'object' && !Array.isArray(obj);
}
let nonArr = {};
console.log(isPlainObject(nonArr)); // false
```
阅读全文