JavaScript 基础与提高

JavaScript 坑与技巧:遍历

2018-06-16  本文已影响17人  soojade

假如要按如下方法遍历一个数组:

let arr = [2, 3, 5, 6, 8];
for(let i=0,len=arr.length;i<len,i++){
  console.log(arr[i];
}

这样每次循环还要和len比较,时间复杂度是O(n+1)。可以使用如下方式:

for(let i=0,item;item=arr[i++];){ // 一定要注意最后面的分号,不要省略
  console.log(item)
}

上面的方法利用了可迭代数据本身的特性,时间复杂度是O(n)。

通过数组arrkeys()方法可以获取一个迭代器对象:item=arr.keys(),不断执行item.next(),可以获得如下结果:

value表示数组的索引,done表示是否遍历完。因此在上面的for循环中,当遍历完数组的之后,返回undefined,结束循环。

上一篇 下一篇

猜你喜欢

热点阅读