检查一个对象是否可迭代,也就是说这个对象是否可用迭代器遍历,比如字符串,数组……
怎么检查,很简单,只要看看对象下面Symbol.iterator
是不是function
就行了:
const isIterable = obj => obj != null && typeof obj[Symbol.iterator] === 'function';
测试:
isArrayLike(document.querySelectorAll('.className')); // true
isArrayLike('abc'); // true
isArrayLike(null); // false
简单哇?