javascript有很多遍历的方法,for、for in、for of(ES6)、forEach、map、filter、every、some、Jquery的each等等。接下来通过一些例子来对比一下这些方法。
示例均使用如下测试数据:var arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
1、for 循环
for循环语句,最基础的遍历,以数组的下标为索引,对数组元素进行遍历。function arrFor(arr) {
try {
var ret = '',
st = performance.now();
for (var k = 0; k < arr.length; k++) {
ret += arr[k];
}
console.log(ret);
var diff = performance.now() - st;
console.log("array for 总耗时:" + diff);
} catch (e) {
console.log("array for 报错了:" + e.message);
}
}
结果:abcdefghijklmnopqrstuvwxyz
array for 总耗时:1.7999999690800905
2、for in
for in循环不仅可以遍历数组,还可以遍历对象,但for in存在一些陷阱,比如它会在遍历完元素之后,还会对数组或对象的prototype中的属性进行遍历,所以,for in 更像是为对象遍历而设计的。
示例:function arrForIn(arr) {
try {
var ret = '',
st = performance.now();
for (var