一、forEach 遍历
forEach 为数组内置的一般遍历方法 ,自动遍历出数组所有元素。
如果存在 empty空位,会被过滤。不能用 break 跳出循环。
var arr = ["Tom", 3, , { userName: "Jane", age: 11 }, "Kate"];
arr.forEach(function(x) {
console.log(x);
})
输出结果为:Tom 3 {userName:'Jane', age:11} Kate
var arr = ["Tom", 3, , { userName: "Jane", age: 11 }, "Kate"];
arr.forEach(function(x) {
console.log("forEach:" + x);
})
加备注字符串输出结果为:forEach:Tom forEach:3 forEach:[object Object] forEach:Kate
二、循环语句遍历
for 语句示例:
数组元素存在 empty空位 时,下标正常标记,结果输出为 undefined ,不会被过滤。可用 break 跳出循环。
var arr = [ 3,"Tom", , { userName: "Jane", age: 11 }, "Kate"];
for (var i = 0; i < arr.length; i++) { // for 循环语句遍历数组
console.log(i);
}
输出结果为:0 1 2 3 4
for (var i = 0; i < arr.length; i++) { // for 循环语句遍历数组
console.log(arr[i]);
}
输出结果为:3 Tom undefined {userName:'Jane', age:11} Kate
for (var i = 0; i < arr.length; i++) { // for 循环语句遍历数组
if (arr[i] === "Tom") {
console.log("find:" + arr[i]);
break; //找到 "Tom" 直接跳出循环,后面的不再继续遍历
}
}
输出结果为:find:Tom
三、for ...in 遍历
for ... in 为一般遍历标准对象。性能开销大,建议使用 for 语句遍历。
如果存在 empty空位,会被过滤。
var arr = [ 3, "Tom",, { userName: "Jane", age: 11 }, "Kate"];
for (var x in arr) {
console.log(x);
}
输出结果为:0 1 3 4
for (var x in arr) {
console.log(arr[x]);
}
输出结果为:3 Tom {userName:'Jane',age:11} Kate