数组的循环和迭代
2017-07-30 16:02 囍呆 阅读(227) 评论(0) 编辑 收藏 举报
循环
(1) for 循环
for 循环是遍历数组最简单的一种,也是使用频率最高的一种。
普通版 for 循环
var = ["a", "b", "c", "d"];
for ( let = 0; < . ; ++ ) {
console.log( [ ] ); // a b c d
}
优化版 for 循环
var = ["a", "b", "c", "d"];
for ( let = 0, = . ; < ; ++ ) {
console.log( [ ] ); // a b c d
}
(2)for-in 循环
var = ["a", "b", "c", "d"];
for ( let in ) {
console.log( [ ] ); // a b c d
}
(3)for-of 循环
var = ["a", "b", "c", "d"];
for ( let of ) {
console.log( ); // a b c d
}
for-in 是遍历集合对象的键名, for-of 是直接遍历集合对象的键值。
for-of 的遍历方式性能要高于 for-in ,但仍比不不上普通的 for 循环。
for-of 不仅支持数组的遍历,还支持大多数类数组对象。同时也支持 ES6 里新增的 Map 和 Set
对象。
数组迭代
(1)forEach()
var = [10, 11, 12, 13, 14];
arr.forEach(function( , ) {
console.log( ); // 10 11 12 13 14
console.log( ); // 0 1 2 3 4
})
(2)map()
var = [10, 11, 12, 13, 14];
var = .map(function( , ) {
return * 2;
})
console.log( );
(3)filter()
var = [10, 11, 12, 13, 14];
var = .filter(function( , ) {
return % 2 == 0;
})
console.log( );
(4)reduce()
var = [10, 11, 12, 13, 14];
var = .reduce(function( , ) {
return + ;
})
console.log( );
(5)every()
var = [10, 11, 12, 13, 14];
var = .every(function( , ) {
return % 2 == 0;
})
console.log( );
(6)some()
var = [10, 11, 12, 13, 14];
var = .some(function( , ) {
return % 2 == 0;
})
console.log( );