# 如何判断类数组

function isArrayLike(value) {
  // isLength函数:length值合法
  return value != null && typeof value != 'function' && isLength(value.length);
}

满足以下三个条件,即可认为类数组。

  • 不为null
  • 不为function,因为函数有length属性,表示形参个数。
  • 拥有length属性,且值合法。

# 如何判断对象类数组

function isArrayLikeObject(value) {
  return isObjectLike(value) && isArrayLike(value);
}

上面的函数会将字符串也识别为类数组,因此需要验证value是否为对象。

最近更新时间: 2020/9/6 11:30:38