文档章节

javascript中的for循环遍历

tiger_yu
 tiger_yu
发布于 2017/04/22 19:50
字数 734
阅读 7
收藏 0
JavaScript作为一门解释执行的编程语言,当然少不了简单方便的for循环,与C语言和Java不同的是,JavaScript的for循环没有块级作用域,也就意味着循环结构体里面的变量可以在循环外面用,当for循环语句在全局对象中使用时,这样就造成了全局污染的困扰,因此非必要情况下,尽量在函数内部使用for语句,下面来谈谈javascript中有哪些for循环遍历。

1.索引数组的遍历 1.1---普通遍历: 下标都是数字序号的数组,默认连续不重复,可以通过累加的方式依次遍历 for(var i=0;i<arr.length;i++){ arr[i]; } 1.2---ES5增强遍历方法 1.2.1---for of ES5提供了简便的遍历数组的方法,此方法只能遍历元素,不能修改数组;且此方法不支持 关联数组 for(var value of arr){ value; } 1.2.2---every() & some() every():遍历数组中的每一个元素,判断数组中的元素是否都符合要求 some():遍历数组中的每一个元素,判断数组中的元素是否有符合要求的 两者的都有返回值,为boolean类型,调用方式如下: var bool=arr.every(function(val,i,arr){ //val, 当前元素值 //i, 当前位置 //arr, 当前数组 return 判断条件 }) 1.2.3--- forEach() 此方法对每个元素执行相同操作,会修改原数组 arr.forEach(function(val,i,arr){ arr[i]=新值; }) 1.2.4---map(): 此方法对每个元素执行相同操作,但不会修改原数组,仅返回新数组 var 新数组=arr.map(function(val,i,arr){ return 新值; }); 1.2.5---filter() 此方法筛选出原数组中符合条件的元素组成新数组,原数组不变。 var subArr=arr.filter(function(val,i,arr){ return 判断条件 //根据满足判断条件的值返回 }) 1.2.5---reduce() 此方法将数组中每个元素的值,汇总成一个最终结果 var result=arr.reduce(function(prev,val,i,arr){ return prev+val;//累加 },base);//base为基准值 2.关联数组的遍历 关联数组的下标不是数字,不能通过累加的方式,但javascript提供了另外一种方式: for(var key in arr){ key; arr[key];
} 为了测试关联数组的方式能否遍历索引数组,小编特地测试了一下,发现结果是可以的,也就是说索引数组是特殊的关联数组;并且函数体里面的arr[i]值也是是可以修改的哦。

3.类数组和对象 javascript中有一类比较特殊的数组:类数组。一般是由DOM对象组成的数组,属于索引数组的一类,所以是可以用索引数组的方式遍历的。 javascript中的对象实质上就是关联数组,因此用关联数组的方式可以遍历对象。

© 著作权归作者所有

共有 人打赏支持
tiger_yu
粉丝 0
博文 1
码字总数 734
作品 0
荆州
程序员
javascript for...in

在JS中我们最常见的循环语句是循环语句,一个简单的循环语句如下: 不过在JS中还有一种非常实用的循环语句叫,通常用来遍历数组或对象的属性. 因为发现小伙伴在使用的时候经常会踩坑,这里再次强...

taadis
2017/12/29
0
0
JavaScript学习记录day3-if语句、循环

JavaScript学习记录day3-if语句、循环 @(学习)[javascript] [toc] 1. if语句 JavaScript使用if () { ... } else { ... }来进行条件判断。 其中else语句是可选的。如果语句块只包含一条语句,...

ygqygq2
06/29
0
0
jQuery中的Ajax----02

一、$.getScript()方法 有时候,在页面初次加载时就得所需的全部javascript文件是完全没有必要的。虽然可以在需要哪个javascript文件时,动态地创建<script>标签,jquery代码如下: $(docu...

指尖跳动的精灵
2015/03/09
0
0
原生javascript学习:用循环改变div颜色

在使用javascript过程中,想循环遍历一个数组,经常使用的语法有两种: for (var i; i < array.length; i++) { } for (var i in array) { } 这两种用法看起来能做同样的事情,但实际上两个循...

黎宇浩
2012/06/17
0
0
JavaScript学习记录day4-Map、Set和iterable

JavaScript学习记录day4-Map、Set和iterable [TOC] JavaScript的默认对象表示方式可以视为其他语言中的或的数据结构,即一组键值对。 但是JavaScript的对象有个小问题,就是键必须是字符串。...

ygqygq2
06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
今天
2
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
5
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
4
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
5
0
中秋快乐!!!

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部