JavaScript循环遍历你会用哪些之小结篇


Posted in Javascript onSeptember 28, 2018

总结JavaScript中的循环遍历

定义一个数组和对象

const arr = ['a', 'b', 'c', 'd', 'e', 'f'];
const obj = {
  a: 1,
  b: 2,
  c: 3,
  d: 4
}

for()

经常用来遍历数组元素

遍历值为数组元素索引

for (let i = 0; len = arr.length, i < len; i++) {
  console.log(i);      // 0 1 2 3 4 5
  console.log(arr[i]);   // a b c d e f
}

forEach()

用来遍历数组元素

第一个参数为数组元素,第二个参数为数组元素索引,第三个参数为数组本身(可选)

没有返回值

arr.forEach((item, index) => {
  console.log(item);   // a b c d e f 
  console.log(index);  // 0 1 2 3 4 5
})

map()

用来遍历数组元素

第一个参数为数组元素,第二个参数为数组元素索引,第三个参数为数组本身(可选)

有返回值,返回一个新数组

every(),some(),filter(),reduce(),reduceRight()不再一一介绍,详细请看Js中Array方法有哪些?
let arrData = arr.map((item, index) => {
  console.log(item);   // a b c d e f 
  console.log(index);  // 0 1 2 3 4 5
  return item;
})
console.log(arrData);  // ["a", "b", "c", "d", "e", "f"]

for...in

可循环对象和数组,推荐用于循环对象

用于循环对象时

循环值为对象属性

for (let key in obj) {
  if (obj.hasOwnProperty(key)) {
    console.log(key);      // a b c d 属性
    console.log(obj[key]);  // 1 2 3 4 属性值
  }
}

用于遍历数组时

值为数组索引

for (let index in arr) {
  console.log(index);     // 0 1 2 3 4 5 数组索引
  console.log(arr[index]);  // a b c d e f 数组值
}

当我们给数组添加一个属性name

arr.name = '我是自定义的属性'

for (let index in arr) {
  console.log(index);      // 0 1 2 3 4 5 name (会遍历出我们自定义的属性)
  console.log(arr[index]);  // a b c d e f 我是自定义属性name
}

for...of

可循环对象和数组,推荐用于遍历数组

用于遍历数组时

遍历值为数组元素

for (let value of arr) {
  console.log(value);    // a b c d e f 数组值
}

用于循环对象时

须配合Object.keys()一起使用,直接用于循环对象会报错,不推荐使用for...of循环对象

循环值为对象属性

for (let value of Object.keys(obj)) {
  console.log(value);  // a b c d 对象属性
}

总结

用于遍历数组元素使用:for(),forEach(),map(),for...of
用于循环对象属性使用:for...in

以上所述是小编给大家介绍的JavaScript循环遍历你会用哪些小结篇,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JQuery jsonp 使用示例代码
Aug 12 Javascript
DIV菜单层实现代码
Nov 19 Javascript
js脚本实现数据去重
Nov 27 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
Sep 24 Javascript
jQuery简单验证上传文件大小及类型的方法
Jun 02 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
Dec 08 Javascript
利用JavaScript实现拖拽改变元素大小
Dec 14 Javascript
JS利用cookies设置每隔24小时弹出框
Apr 20 Javascript
Vue实现web分页组件详解
Nov 28 Javascript
vue中v-model的应用及使用详解
Jun 27 Javascript
学习LayUI时自研的表单参数校验框架案例分析
Jul 29 Javascript
Jquery滑动门/tab切换实现方法完整示例
Jun 05 jQuery
浅谈vue引用静态资源需要注意的事项
Sep 28 #Javascript
学习jQuery中的noConflict()用法
Sep 28 #jQuery
代码分析vue中如何配置less
Sep 28 #Javascript
使用JavaScript破解web
Sep 28 #Javascript
详解node字体压缩插件font-spider的用法
Sep 28 #Javascript
JS canvas绘制五子棋的棋盘
May 28 #Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 #Javascript
You might like
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
PHP分页效率终结版(推荐)
2013/07/01 PHP
浅析PHP Socket技术
2013/08/02 PHP
php指定函数参数默认值示例代码
2013/12/04 PHP
Yii中的relations数据关联查询及统计功能用法详解
2016/07/14 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
node.js中的emitter.emit方法使用说明
2014/12/10 Javascript
jQuery中removeProp()方法用法实例
2015/01/05 Javascript
JavaScript实现模仿桌面窗口的方法
2015/07/18 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
JavaScript中localStorage对象存储方式实例分析
2017/01/12 Javascript
JS实现简单拖拽效果
2017/06/21 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
微信小程序实现留言板
2018/10/31 Javascript
详解puppeteer使用代理
2018/12/27 Javascript
js的各种数据类型判断的介绍
2019/01/19 Javascript
js获取 gif 的帧数的代码实例
2019/09/10 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队Mineski晋级之路
2018/04/07 DOTA
跟老齐学Python之编写类之三子类
2014/10/11 Python
Python实现自动发送邮件功能
2021/03/02 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
Python之京东商品秒杀的实现示例
2021/01/06 Python
使用HTML5技术开发一个属于自己的超酷颜色选择器
2013/09/22 HTML / CSS
HTML5 input placeholder 颜色修改示例
2014/05/30 HTML / CSS
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
自主招生自荐书
2013/11/29 职场文书
有关爱国演讲稿
2014/05/07 职场文书
汽车转让协议书范本
2014/12/07 职场文书
入党政审材料范文
2014/12/24 职场文书
外贸业务员岗位职责
2015/02/13 职场文书
师范生小学见习总结
2015/06/23 职场文书