空数组与空对象问题

[] == [] 或者 {} == {} 结果都是false为什么

因为[] 或者 {} 都是独立对象,他们在内存中有自己独立的存储区域,直接比较必然为false。

怎么判断一个数组为空

分两步解决首先判断是否为一个数组,其次判断数组的length值是否为0

var arr = [];

// 利用isArray判断是否为一个数组
Array.isArray(arr);

// 利用Object.toString.call(obj)判断类型

Object.prototype.toString.call(arr) === "[object Array]"

if(arr.length){
  return true
}else{
  return false
}

你可能感兴趣的:(空数组与空对象问题)