js提供了许多循环遍历数组和对象的方法和API。下面列出一些比较常见的方法。

for 循环

js中最常见的莫过于for来进行遍历了。在循环体中可以通过breakcontinue来对循环进行一定的处理。
break : 直接跳出循环。(如果存在嵌套循环,则只是跳出当前循环这一层)
continue : 结束当前循环,进入下一次循环。

const times = 1000;
for (let i = 0; i < times; i++) {// todo
}

while 循环

js中while循环也是用的比较多。
for 循环更多的用于循环次数确定的循环。
while循环更多的用于循环次数不定的循环。

let condition = true;
while (condition) {// todocondition = false;
}

forEach

array.forEach(function(value, index, array) {
// value 为当前值
// index 为当前值的下标
// array 为当前数组
})

  • 对数组的每一个元素执行一次提供的函数
  • 不能使用return、break来中断循环
  • 如果使用了 return 则之后的语句不会执行进入下一个循环 <=> continue
  • break使用直接会报错
  • 不改变原数组,无返回值

for - in

  • 循环遍历的值都是数据结构的的值
  • 使用for-in循环,返回的是所有能够通过对象访问的、可枚举的属性,其中既包括存在于实例中的属性,又包括存在于原型中的属性
  • for-in循环出的属性名顺序是不可预测的,返回的先后次序会因浏览器而异
  • for in也可以循环数组也可以遍历对象
let obj = {a: '1', b: '2', c: '3', d: '4'}
for (let o in obj) {console.log(o)       //遍历是对象的属性名称 a,b,c,dconsole.log(obj[o])  //属性对应的值 1,2,3,4
}

for - of

不同于 for in遍历的是 key / value 中的key, for of遍历的是 key / value 中的value。
**限制条件:**一个数据结构只有部署了 Symbol.iterator 属性, 才具有 iterator接口,才可以使用 for of循环。
常见的部署了 Symbol.iteratoer属性的数据结构:

Array
Map
Set
String
arguments对象
Nodelist 对象, 即获取的dom列表集合

let arr = ['a', 'b', 'c']
for (let o of arr) {console.log(o)  //a, b, c
}

其它

数组自身也提供了许多操作数组的API,例如:filter, map, reduce等。
这里列出了本人常用的一些数组api,仅供参考。
js数组常用api

javascript中的循环和遍历相关推荐

  1. javascript中for循环和setTimeout同时使用,出现的问题

    javascript中for循环和setTimeout同时使用,出现的问题 for循环代码 <!DOCTYPE html> <html lang="en"> ...

  2. JavaScript中的属性:如何遍历属性

    JavaScript中的属性:如何遍历属性 在JavaScript中,遍历一个对象的属性往往没有在其他语言中遍历一个哈希(有些语言称为字典)的键那么简单.这主要有两个方面的原因:一个是,JavaScr ...

  3. JavaScript中的循环语句-while循环

    -JavaScript中有三种循环语句,分别为while循环,do-while循环和for循环. 现在来聊一聊while循环. 首先讲一讲 if 语句和while 循环的格式是非常相似的,但是它们都拥 ...

  4. Javascript中for循环

    在ECMAScript5(简称 ES5)中,有三种 for 循环,分别是: 简单for循环 for-in forEach 在2015年6月份发布的ECMAScript6(简称 ES6)中,新增了一种循 ...

  5. 了解JavaScript中的循环缺点和迭代协议

    目录 介绍 背景 不同的循环构成弊端 For-loop Array.forEach For-in loop For-of loop 迭代协议 迭代协议的类型 什么是迭代器协议? 什么是可迭代协议? 迭 ...

  6. [转] JavaScript中的属性:如何遍历属性

    在JavaScript中,遍历一个对象的属性往往没有在其他语言中遍历一个哈希(有些语言称为字典)的键那么简单.这主要有两个方面的原因:一个是,JavaScript中的对象通常都处在某个原型链中,它会从 ...

  7. Javascript中的循环变量声明,到底应该放在哪儿?

    不放走任何一个细节.相信很多Javascript开发者都在声明循环变量时犹 豫过var i到底应该放在哪里:放在不同的位置会对程序的运行产生怎样的影响?哪一种方式符合Javascript的语言规范?哪 ...

  8. Javascript中for循环别名

    无意间看到这个列子,想起来了Javascript中的给循环起别名来控制循环终止 贴出来分享一下: test:for (var i = 0; i < 10; i++) { switch (i) { ...

  9. JavaScript中Object对象深度遍历

    Object对象深度遍历 支持Object和Array混合型对象遍历.其中用到的对象类型判断方法,详见<JavaScript中Object对象类型判断> // 递归实现 // obj 为父 ...

最新文章

  1. Sql注入和Html注入
  2. R语言ggplot2可视化绘制累积计数图(累加图,cumulative counts)
  3. IBM发布人脸识别最强工具,多样性数据集,100万张人脸图像!
  4. 关于 【通过代理访问】 的研究,【突破 IP ,“无限制”投票】
  5. centos7开启tcp6_Centos7下配置IPV6
  6. OSI七层协议与TCP连接
  7. 小规模零申报完整报税流程
  8. 应对 勒索病毒 补丁、免疫工具、关闭445端口
  9. python 通配符用法,python - 通配符
  10. 解决virtualbox虚拟机unbuntu20.04无法识别u盘、sd卡
  11. 常用颜色的RGB值及中英文名称对照表
  12. 从 Server Timing Header 看服务器是如何处理请求的
  13. 「首席架构师精选」精选绘图软件
  14. Node: Puppeteer + 图像识别 实现百度指数爬虫
  15. MT6737 Android N 平台 Audio系统学习----录音到播放录音流程分析
  16. 【ELM】动态自适应可变加权极限学习机ELM预测(Matlab代码实现)
  17. 1.2线性代数之行列式,余子式及代数余子式
  18. 秀日记:这个升学比例吓坏大家了
  19. 26岁工学女博士李晟曼已获聘湖南大学副教授
  20. 国外媒体评出2010版杀毒软件排名

热门文章

  1. 【Vue2】VantUI项目-基础入门01
  2. vant Ui 网址
  3. Webots安装教程
  4. 2020年天梯赛题目
  5. css实现图片自适应缩放的两种方法
  6. 耦合性、内聚度的介绍
  7. 「卷轴」iPhone 有戏?苹果新专利曝光,果粉激动:终于要变了!
  8. React入门(3)-- React的错误边界(Error Boundaries)
  9. 用Tkinter打造自己的Python IDE开发工具(6)Python多文件共享变量与智能插件设计
  10. nginx set header