isArrayLike - 是否为类数组

优质
小牛编辑
130浏览
2023-12-01

检查提供的参数是否是类数组(即可迭代)。

使用展开运算符 (...) 检查提供的参数是否可以在 try... catch 块中进行迭代,并使用逗号运算符(,)返回适当的值。

const isArrayLike = val => {
  try {
    return [...val], true;
  } catch (e) {
    return false;
  }
};
isArrayLike(document.querySelectorAll('.className')); // true
isArrayLike('abc'); // true
isArrayLike(null); // false