定义数组 var arr = [1,2,3,4,5,6,7,8];
方式一:
最常用的方法:
for(var index = 0, len = arr.length; index < len; index++) {
var value = arr[index];
}
此方法适合数组中的元素都是合法的数据,否则,应该先检测他们,如下:
方式二:
跳过null,undefined和不存在的元素:
for(var i = 0, len=arr.length; i < len; i++) {
if(!arr[i]) continue;
//循环体
}
如果想跳过undefined和不存在的元素,如下:
方式三:
for(var i = 0, len = arr.length; i < len; i++) {
if(arr[i] === undefined) continue;
//循环体
}
如果要跳过不存在的元素而处理存在的undefined的元素:
方式四:
for(var i = 0, len = arr.length; i < len; i++) {
if(!(i in arr)) continue;
//循环体
}
或
不存在的索引将不会遍历到:
for(var index in arr) {
var value = arr[index];
}
如果有限制,如下:
跳过继承的属性:
for(var i in arr) {
if(!arr.hasOwnProperty(i)) continue;
//循环体
}
for(var i in arr) {
//跳过不是非负整数的i
if(String(Math.floor(Math.abs(arr(i)))) !== i) continue;
//循环体
}
ECMAScript定义了一种遍历数组元素的方法,按照索引的顺序按个传递给定义的一个函数,如下:
arr.forEach(function(x) {
var value = x;//元素值
//其他逻辑
});