文档章节

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循环遍历

总结JavaScript中的循环遍历定义一个数组和对象 const arr = ['a', 'b', 'c', 'd', 'e', 'f'];const obj = {a: 1,b: 2,c: 3,d: 4} for() 经常用来遍历数组元素 遍历值为数组元素索引 or (le...

kaixin_code
12/12
0
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
JavaScript 基础 --- (数据类型/循环/条件)

一、js 输出 1.window.alert() 警告框 2.document.write() 写到 HTML 文档中 3.innerHTML 写到 HTML 元素 4.console.log() 写到浏览器的控制台 二、js 语句与注释 1. ; (var a = 1;) ;表...

姜白告
06/19
0
0
JavaScript学习记录day4-Map、Set和iterable

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

ygqygq2
06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

vue-cli 3 分环境打包

在vue-cli3的项目中, npm run serve时会把process.env.NODE_ENV设置为‘development’; npm run build 时会把process.env.NODE_ENV设置为‘production’; 此时只要根据process.env.NODE_...

灰白发
1分钟前
0
0
集合初始化,泛型及相关操作

集合初始化通常进行分配容量,设置特定参数等相关工作,推荐在任何情况下,都需要显式地设定集合容量的初始大小。 ArrayList 使用无参构造时,默认大小为 10 ,也就是说在第一次add的时候,分...

Canaan_
11分钟前
1
0
Sping之项目中pofile的应用

工程中,我们必须要面对的一件事就是, 开发环境中使用的数据库连接地址等与生产上的不同, 如果上线, 那么我们是否还要手动修改这些地址么, 这样做有很多弊端, 不方便, 这时我们就可以使用spr...

克虏伯
18分钟前
0
0
Linux中安装MySQL

Linux中安装MySQL 一、准备工作 此处准备的操作系统位CentOS 7。 MySQL安装包: MySQL-server-5.6.29-1.linux_glibc2.5.x86_64.rpm MySQL-client-5.6.29-1.linux_glibc2.5.x86_64.rpm 将准备......

星汉
23分钟前
0
0
深入理解Hadoop之HDFS架构

Hadoop分布式文件系统(HDFS)是一种分布式文件系统。它与现有的分布式文件系统有许多相似之处。但是,与其他分布式文件系统的差异是值得我们注意的: HDFS具有高度容错能力,旨在部署在低成...

架构师springboot
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部