JS数组遍历

本文针对JS中数组遍历做一个总结

普通 for 循环
    for(let i = 0, len = arr.length; i < len; i++) {
        console.log(arr[i]);
    }
forEach 循环(数组自带的方法)
    arr.forEach((value, index) => {
        console.log('序号:' + index + ', 值:' + value)
    });
注意: forEach循环中不能 break, return和循环中改变数组的值
map 循环
    let newArr = arr.map((value, index) => {
      return value++;
    });
注意: map循环返回一个新数组,可以return, break
filter 循环
    let newArr = arr.filter((value, index) => {
      return value > 20;
    });
注意: filter循环返回一个新数组,其中值为返回判断条件为true的值(可以理解为过滤)
reduce
    let sum = arr.reduce((prev, cur, index, arr) => {
      console.log(prev, cur);
      return prev + cur;
    }, 0);
注意: 一般 reduce用来计算数组的每一项之和,第一个参数是函数,第二个参数是初始值,若不指定初始值的话将从数组的第二项开始给每一项执行函数,所以一般我们都会指定初始值.第一个函数参数分别为 上一项, 当前项, 当前数组下标, 当前数组
for-of 循环
    for (const item of arr) {
      console.log(item)
    }
  • 可以正确响应break、continue和return语句
  • 不仅支持数组,还支持大多数类数组对象
  • 支持字符串遍历
for-in 循环
    for (const key in obj) {
      console.log(key + ':' + obj[key])
    }
注意: for-in循环适用于遍历对象,若是遍历数组的话访问的是数组的下标.另外,在跨浏览器的设计中,我们不能依赖于for-in来获取对象的成员名称
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引言: ES6为javascript为数组遍历提供了新的一种方式: for....of....。那之前的遍历方法各...
    小白function阅读 2,811评论 1 8
  • for循环 对于基础写法的性能可以进行优化,这种基本的数组遍历方法中,数组的长度应该只需要查询一次而非每次循环都要...
    markdown阅读 659评论 0 0
  • 先写一个测试数组 1)普通for循环 简要说明:最简单的一种,也是使用频率最高的一种,虽然性能不弱,但仍有优化空间...
    LeungJhowe阅读 650评论 0 1
  • 好像没更新技术博客,倒是学习了不少新技术,只是懒得写出来,还是得有个地方整理出来,以后每周更新一篇,给自己定个备忘...
    阿拉斯加南海岸线阅读 936评论 0 2
  • 文图/吴鸿勇 这是我1997年9月的一篇日记,记述了当时的生活片段和心情。这么多年了,以现在的眼光看来,仿如隔世,...
    雁韧阅读 564评论 6 16