js怎么判断空数组

发布网友 发布时间:2022-04-24 12:43

我来回答

3个回答

热心网友 时间:2022-05-07 10:57

if (Array.isArray(arr) && arr.length)     // arr exists and is not empty

热心网友 时间:2022-05-07 12:15

if(typeof a=='object'&&a.length==0)

return true;

热心网友 时间:2022-05-07 13:50

当需要判断参数是否为空时,总希望 js 能够提供原生的判断方法,可惜并没有,只能自己封装了。
function isEmpty(obj) {
// 检验 undefined 和 null
if(!obj && obj !== 0 && obj !== '') {<br>           return true;
}
if(Array.prototype.isPrototypeOf(obj) && obj.length === 0) { <br>    return true;<br>  }
if(Object.prototype.isPrototypeOf(obj) && Object.keys(obj).length === 0) { <br>    return true;   <br>  }   <br>  return false; <br>}

isPrototypeOf() 方法用于测试一个对象是否存在于另一个对象的原型链上。即判断 Object 是否存在于 obj 的原型链上。需要注意的是,js 中一切皆是对象,也就是说,Object 也存在于数组的原型链上,因此这里数组需要先于对象检验。
ps:
isPrototypeOf 和 instanceof operator 是不一样的。在表达式 object instanceof AFunction 中,检测的是 AFunction.prototype 是否在object 的原型链中,而不是检测 AFunction 自身。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com