forEach
myArray.forEach(function (value) {
console.log(value);
});
写法简单了许多,但也有短处:你不能中断循环(使用break
语句或使用return
语句。
JavaScript里还有一种循环方法:for
–in
。
for-in
for-in循环实际是为循环”enumerable“对象而设计的:
var obj = {a:1, b:2, c:3};
for (var prop in obj) {
console.log("obj." + prop + " = " + obj[prop]);
}
// 输出:
// "obj.a = 1"
// "obj.b = 2"
// "obj.c = 3"
你也可以用它来循环一个数组:
for (var index in myArray) { // 不推荐这样
console.log(myArray[index]);
}
不推荐用for-in来循环一个数组,因为,不像对象,数组的index
跟普通的对象属性不一样,是重要的数值序列指标。
总之,for
–in
是用来循环带有字符串key的对象的方法。
for-of
循环数组
let iterable = [10, 20, 30];
for (let value of iterable) {
console.log(value);
}
// 10
// 20
// 30
可以使用const来替代let,这样它就变成了在循环里的不可修改的静态变量。
let iterable = [10, 20, 30];
for (const value of iterable) {
console.log(value);
}
// 10
// 20
// 30
循环一个字符串:
let iterable = "boo";
for (let value of iterable) {
console.log(value);
}
// "b"
// "o"
// "o"