和其他的编程语言一样,for循环是一个非常重要的因素,再编程之中。
# for(var x=0; x<10; x++) { console.log(x);}
这个是最原始的for循环,和其他的编程语言一样 会在控制台上依次输出 0-9
然后做一些进阶版 =。=
# arr.forEach((x, index) => { console.log(x, index)})
forEach是对数组的遍历,其实和原始的for循环是类似的。 具体是和 for(var x=0; x<arr.length; x++) {console.log(arr[x], x)} 是一样的,其实理解这个循环是一个很重要的环节,因为后面的其他版本做到的 也是实现这句代码的功能。
--->注意一下的是,object 事没有forEach()的
#for (x in items) { }
这是另外的一个进阶版
但是这个用起来就是有一点奇妙了,因为这个对items自身的属性是有区别的;
1) 当items 为object时,这是一个很奇妙的输出
即 for(x in items) { console.log(x) } 此时会依次输出 键 ,我们会发现此时输出的是数组的 键 , 如果console.log(items[x])此时才会按想法输出 items的值
2)当items 为arr时,就会出现我们期待的结果, 结果还是和我想的不一样
for(x in items) {console.log(x)} 此时会 输出, 0,1,2..,这个才是数组的index,items[x] 会输出 数组的值
差一点就写错了。。还好试了一下。。。
在es6 中为了改善上面的循环又引进了一个新的。。
# for (x of items) {}
这个和上面的foreach类似,只是一个专门为了数组存在的方式,因为如果items 为obj 就会报错。当items = [x1, x2, x3, x4, x5] ; for(x in items) { console.log(x)} 就会输出 我们想看到的 x1 x2 x3 x4 x5..终于如愿以偿。。
经过以上测测试,for-in 和 for-of 基本可以完成大部分的功能,如果你是一个php用户 我觉得 forEach也是一个不错的方法,到是 原始的for循环 似乎有一点泯然众人矣~
网友评论