数组遍历
最早的数组遍历方式
var a = ["a","b","c"];
for(var index = 0 ;index < a.length;index++){
console.log(a[index]);
}
自从ES5发布之后,可以使用内建的forEach
来遍历数组
var a = ["a","b","c"];
a.forEach(function(element){
console.log(element);
})
简洁了很多,但是缺点是不能使用
break
来退出循环,不能使用renturn
语句来返回到外层
再然后可以使用for-in
的语法来遍历
var a = ["a","b","c"];
for(var index in a){
console.log(a[index])
}
但是这里也有需要注意的点
1.index在这里是
String
类型的
2.for-in
除了遍历数组元素之外,还会遍历自定义属性
3.for-in
更适合遍历普通对象
使用`for-of`是最简洁的,修复了`for-in`循环的所有缺点,而且可以正确响应`break,continue,return`等语句
var a = ["a","b","c"];
for(var value of a ){
console.log(value);
}
应该注意的是,由于
for-of
是ES6新增的特性,只能遍历提供Iterator接口的结构,所以它不能遍历普通对象,想要使用for-of
遍历的话就结合Object.key()
方法使用。
var me = {
name:"zonglang",
age:18,
sex:male
}
for(var key of Object.key(me)){
console.log(key+":"+me[key]);
}
这种方式可以同时获取key和value