js判断数组是否为空 判断任意变量是否为空(非空判断)
1、一般情况下判断一个数组是否为空可以用(明确该字段为数组类型)
arr.length == 0
来判断
但是还有一种情况时不能确定数组是否定义,比如接口传回的数据中如果没有这个字段,就会报错
Cannot read properties of undefined (reading 'length')
这种情况下length就不再适用
可以使用arr != true 来判断,数组为空数组或者未定义都适用,返回结果为true即这个数组为空
2、isEmpty 返回值为true表示为空(NaN , [] , {} , undefined , null , " " ),false为有值
/** * 判断是否有值,0不发生转换,数字0和字符串0都是false,即 不为空 * 空数组也返回true,即为空 * @param v * @returns {boolean} */function isEmpty(v) { switch (typeof v) { case 'undefined': return true; case 'string': if (v.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '').length == 0) return true; break; case 'boolean': if (!v) return true; break; case 'number': if (isNaN(v)) return true; // 0不发生转换,数字0和字符串0都是false,即 不为空 break; case 'object': if (null === v || v.length === 0) return true; for (var i in v) { return false; } return true; } return false; }