文档章节

javascript中的for循环遍历

tiger_yu
 tiger_yu
发布于 2017/04/22 19:50
字数 734
阅读 7
收藏 0
点赞 0
评论 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学习记录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学习记录day4-Map、Set和iterable

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

ygqygq2
06/29
0
0
javascript模式 读书笔记一

第一章 简介 模式 模式是指一个通用问题的解决方案。 模式分三种 设计模式 编码模式:javascript特有的 反模式:常见的 引发的问题比解决的问题更多的一种方法。 JavaScript:基本概念 面向对...

lilugirl
2014/01/21
0
1
原生javascript学习:用循环改变div颜色

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

黎宇浩
2012/06/17
0
0
《JavaScript权威指南》笔记(四)

第四篇笔记的内容主要涉及:javascript中的各种语句。 1. switch语句: (1)其中的case表达式采用===匹配,而不是==做匹配 (2)习惯上将default标签放在switch主体的结尾,但实际上可以放在...

小微
2012/08/28
0
2
高性能javascript-算法和流程控制笔记

如同其他编程语言,代码的写法和算法会影响javascript的运行时间。与其他语言不同的是,javascript可用资源有限,因此优化技术更为重要。 1、for,while和do-while循环性能特性相似,所以没有...

chuhx
2012/04/04
0
0
JavaScript DOM编程艺术(读后感一)

1.平稳退化 网站访问者完全有可能使用的是不支持javascript的浏览器,或者是用户已经禁用。如果没有考虑这种情况,人们在访问网站时就有可能遇到麻烦,并因此不再来访问网站。如果正确的使用...

董广明
2014/02/25
0
0
前端高频面试题 JavaScript篇

以下问题都来自于互联网前端面经分享,回答为笔者通过查阅资料加上自身理解总结,不保证解答的准确性,有兴趣讨论的同学可以留言或者私信讨论。 1.JS的异步机制? 2.闭包如何实现? 3.原型链、...

大雄的学习人生
06/25
0
0
Node.js菜鸟入门HelloWorld。

现在javascript是火到不行了,能干的事情越来越多了,现在根据MVC提出了一种新的WEB的分层模式MVP(Model-View-Presenter)也被人提的蛮多的。MVP主要是想把部分逻辑推到客户端运行,这样也能起...

Line
2014/03/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

RabbitMQ实战:5种模式和示例

应用RabbitMQ的5种队列 一、简单队列 P:消息的生产者 C:消息的消费者 红色:队列 生产者实现思路: 创建连接工厂ConnectionFactory,设置服务地址127.0.0.1,端口号5672,设置用户名、密码...

spinachgit
10分钟前
0
0
mysql常见报错标号对应原因以及处理方法

mysql常见报错标号以及对应解决方法 报错标号 报错现象 解决方法 原因 1449 Cause: java.sql.SQLException: The user specified as a definer ('authplat_dev'@'%') does not exist 在控制台...

ChinaHYF
12分钟前
0
0
Java 监控系统技术选型

(1)操作系统监控 Sigar oshi (2)Tomcat监控 JMX 日志 (3)Oracle监控 日志 直连SQL查询 基于Druid连接池

cccyb
13分钟前
1
0
解决IDEA中moduel配置了maven依赖可是依然不能使用依赖中的类

POM.xml中明明配置了依赖,也开启了maven的 auto-import 下面的刷新maven也没用: 直到使用下面的解决办法才使依赖生效: IDEA打开右侧 maven projects 点击顶部的M图表(看下图) 出现如下对...

颖辉小居
14分钟前
0
0
Nginx proxy pass路由转发简单用法

一,在nginx中配置proxy_pass时的加不加/的问题要注意proxy_pass后的url最后的/当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走如果没有/,则会把匹配的...

binhu
14分钟前
0
0
postcss替换sass-loader

实际需求: 已经使用了postcss autoprefixer ,而且sass-loader又依赖于node-sass,而且node-sass又是一堆坑(比如centos升级node6->node8后的安装权限问题),所以想简单使用Postcss 处理s...

吟啸_徐行
17分钟前
0
0
FISCO-BCOS v1.3.1 通过物料包安装记录

本文是从FISCO-BCOS的官方GitHub中的安装包进行安装的记录过程 1. Node.js环境准备 #nodejs安装 nvmsudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh......

undefine
21分钟前
0
0
Linux 系统日志、screen 工具

1、Linux 系统日志 日志重要吗?必须的,没有日志我们怎么知道系统状况?没有日志如何排查一个trouble?日志记录了系统每天发生的各种各样的事情,你可以通过它来检查错误发生的原因,或者受...

JolieLin
31分钟前
1
0
MAVEN打包时报错“程序包xxx不存在”

1.错误场景: 项目为springboot项目,maven聚合工程,分为app、api 、common、gongqiu四个项目,app、api 、common的父类是gongqiu,app和api依赖common,打包时报错common中的程序包xxx不存...

无语年华
33分钟前
0
0
CSS

一、简介 CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题 外部样式表可以极大提...

blackfoxya
40分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部