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"
