JS 中forEach,for in、for of用法实例总结
作者:书香水墨 发布时间:2024-04-29 13:19:00
标签:JS,forEach,for,in,of
一、forEach
1.1 遍历数组
var array = [1,2,3,4,5,6];
/**
* currentValue 当前元素
* index 当前元素的索引值
* arr 当前元素所属的数组对象
**/
array.forEach(function(currentValue, index, arr) {
console.log("index: " + index + "; currentValue: ", currentValue);
});
1.2 遍历对象
var object = {"a":1, "b":2, "c":3};
/**
* currentValue 当前元素
* index 当前元素的索引值
* arr 当前元素所属的数组对象
**/
Object.keys(object).forEach(function(currentValue, index, arr) {
console.log("index: " + index + "; currentValue: ", currentValue);
});
二、for in
2.1 遍历数组
var array = [1,2,3,4,5,6];
for (var index in array) {
console.log("index: " + index + "; currentValue: ", array[index]);
}
2.2 遍历对象
var object = {"a":1, "b":2, "c":3};
for (var index in object) {
console.log("index: " + index + "; currentValue: ", object[index]);
}
三、for of
3.1 遍历数组
var array = [1,2,3,4,5,6];
for (var varlue of array) {
console.log("currentValue: ", varlue);
}
3.2 遍历对象
for of不能直接遍历数组,需要为对象增加 Symbol.iterator 属性
3.2.1 方法一
var obj = {
a:1,
b:2,
c:3
};
obj[Symbol.iterator] = function(){
var keys = Object.keys(this);
var count = 0;
return {
next(){
if(count < keys.length) {
return {value:obj[keys[count++]], done:false};
}else{
return {value:undefined, done:true};
}
}
}
};
for(var k of obj){
console.log(k);
}
3.2.2 方法二使用ES6 function*()
var obj = {
a:1,
b:2,
c:3
};
obj[Symbol.iterator] = function*(){
var keys = Object.keys(obj);
for(var k in keys){
yield [k, keys[k]]
}
};
for(var [k, v] of obj){
console.log(k, v);
}
感兴趣的朋友可以使用本站在线工具:http://tools.aspxhome.com/code/HtmlJsRun 测试上述代码运行效果!
来源:https://blog.csdn.net/qq_27870421/article/details/112170429


猜你喜欢
-   在用Python进行数据处理的时候,经常会遇到DataFrame中的某一列本应该是数值类型,但由于数
- 前言对于JavaScript程序的调试,相比于alert(),使用console.log()是一种更好的方式,原因在于:alert()函数会
- git 报错信息:OpenSSL SSL_read: Connection was reset, errno 10054Git 中 push
- 样式表是一种为超文本标签语言提供增强补充服务的技术,可对每一个html的标签做精雕细刻的修饰。只用html制作的网页,对页面内各部分的修饰能
- 零、SQLAlchemy是什么?SQLAlchemy的官网上写着它的介绍文字:SQLAlchemy is the Python SQL to
- 如何在生产上部署Django?Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。uwsgi介绍uW
- 本文实例分析了python中的全局变量用法。分享给大家供大家参考。具体分析如下:Python是一种面向对象的开发语言,在函数中使用全局变量,
- 么是约瑟夫问题?约瑟夫问题是一个有趣的数学游戏,游戏规则如下:1、N个人围成一个圈,编号从1开始,依次到N。2、编号为M的游戏参与者开始报数
- python PIL 将数组值转成图片安装 PIL 包pip install pillow将二维数据转换成单通道图片from PIL imp
- CentOS升级Python2.6到Pythno2.7最近在Linode上弄Python、出现ValueError: zero length
- 先介绍下什么是协程:协程,又称微线程,纤程,英文名Coroutine。协程的作用,是在执行函数A时,可以随时中断,去执行函数B,然后中断继续
- 如果使用的是matplotlib绘图,可以通过以下命令更改图片的大小:%matplotlib linline如果是 plt.figure(f
- 使用MySQL可视化工具Navicat导出MySQL的表结构脚本的方法。1、右键Navicat中的数据库→数据传输(Data Transfe
- 一、设计目的1、教学目的本课程设计是学生学习完《Python程序设计》课程后,进行的一次全面的综合训练,通过课程设计,更好地掌握使用Pyth
- 如下所示:# -*- coding:utf-8 -*-import xlrdimport sysimport reimport jsondi
- 1 备份进行备份前需要先创建备份用户,直接使用 root 用户进行备份也行,但是这样不太规范。 create us
- 问题所在:当我们想让应用层和http之间的所有接口都采用json,这样,客户端代码就可以纯碎用javascript的对象来编写,服务器打啊也
- 前言本文主要给大家介绍了关于利用python 3.5检测路由器流量并写入txt的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看
- mysql> select 'name',id from table_b; //'name' 不在ta
- @StartIndex为当前页起始序号,@EndIndex为当前页结束记录序号,可以直接作为参数输入,也可以通过输入PageSize和Pag