JavaScript之iterable_动力节点Java学院整理
JavaScript中的Iterable类型与遍历方式革新
在JavaScript中,遍历集合是一个常见的操作。传统的数组可以通过下标循环进行遍历,但当面对Map和Set这类集合时,下标循环便无法适用。为了解决这个问题,ES6标准引入了新的iterable类型,Array、Map和Set都属于这种类型。
Iterable类型的集合可以通过新的for...of循环进行遍历,这一语法在ES6中被引入。如果你的浏览器支持ES6,那么就可以使用这种循环方式。
让我们通过示例来展示for...of循环的使用:
```javascript
var a = ['A', 'B', 'C'];
var s = new Set(['A', 'B', 'C']);
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
for (var x of a) {
alert(x);
}
for (var x of s) {
alert(x);
}
for (var [key, value] of m) {
alert(key + '=' + value);
}
```
你可能会问,for...of循环和for..循环有什么区别呢?
for..循环由于历史遗留问题,它遍历的实际上是对象的属性名称。对于数组而言,这可能会导致一些意想不到的结果,特别是当你给数组添加了额外的属性时。
而for...of循环则修复了这些问题,它只循环集合本身的元素,不会涉及到额外的属性。这使得for...of循环在处理Array、Map和Set等集合时更加可靠和一致。
对于iterable集合,更好的遍历方式是使用内置的forEach方法。这个方法接收一个函数,每次迭代都会自动回调该函数。例如:
```javascript
var a = ['A', 'B', 'C'];
a.forEach(function (element) {
alert(element);
});
```
forEach方法是在ES5.1标准中引入的,因此你需要确保你的浏览器支持这个版本或更高的JavaScript标准。
Set和Map的forEach方法使用方式与Array类似。对于Map,回调函数的参数依次为value、key和map本身。如果你对某些参数不感兴趣,可以简单地忽略它们。例如,如果你只需要获得Array的元素,可以只写element作为回调函数参数。新的iterable类型和遍历方式使得JavaScript在处理集合时更加灵活和强大。
编程语言
- JavaScript之iterable_动力节点Java学院整理
- struts2中action实现ModelDriven后无法返回json的解决方
- 详解Centos7 修改mysql指定用户的密码
- 正则表达式中两个反斜杠的匹配规则详解
- javascript实现的全国省市县无刷新多级关联菜单效
- Yii2创建多界面主题(Theme)的方法
- Mysql提升大数据表拷贝效率的解决方案
- 分页存储过程(用存储过程实现数据库的分页代码
- php获取客户端电脑屏幕参数的方法
- vue-cli脚手架引入图片的几种方法总结
- WebForm获取checkbox选中的值(几个简单的示例)
- asp.net中一次性动态绑定多个droplistdown
- PHP中array_map与array_column之间的关系分析
- jQuery Easyui使用(一)之可折叠面板的布局手风琴菜
- 适合PHP初学者阅读的4本经典书籍
- JavaScript实现点击单元格改变背景色的方法