js中forEach,for in,for of循環的用法
js中循環語句有forEach,for in,for of 三種了
一般的遍曆數組的方法:
[javascript] view plain copy
- var array = [1,2,3,4,5,6,7];
- for (var i = 0; i < array.length; i) {
- console.log(i,array[i]);
- }
結果如下:
0 1
1 22 33 44 55 66 7用for in的方遍曆數組
[javascript] view plain copy
- for(let index in array) {
- console.log(index,array[index]);
- };
結果如下:
0 1
1 2
2 3
3 4
4 5
5 6
6 7
上述兩個結果是一樣的.
也可以用forEach
[javascript] view plain copy
- array.forEach(v=>{
- console.log(v);
- });
結果如下:
1234567forEach的缺點也是很明顯的,就是不能中斷
除了上面方法,還可以用forEach
可以使用forEach方法,這個是數組對象自帶的:
[javascript] view plain copy
- array.forEach(function(v) {
- console.log(v);
- });
結果如下:
1
2
3
4
5
6
7
用for in不僅可以對數組,也可以對enumerable對象操作
如下:代碼
[javascript] view plain copy
- var A = {a:1,b:2,c:3,d:"hello world"};
- for(let k in A) {
- console.log(k,A[k]);
- }
結果如下:
a 1b 2c 3
d hello world在ES6中,增加了一個for of循環,使用起來很簡單
對於數組
[javascript] view plain copy
- for(let v of array) {
- console.log(v);
- };
結果如下:
1
2
3
4
5
6
7
對於字元串則可以
[javascript] view plain copy
- let s = "helloabc";
- for(let c of s) {
- console.log(c);
- }
結果如下:
h
e
l
l
o
a
b
c
[javascript] view plain copy
- for(let index in s) {
- console.log(index,s[index]);
- }
結果如下:
0 h1 e
2 l3 l4 o5 a6 b7 c總結來說:for in總是得到對像的key或數組,字元串的下標,而for of和forEach一樣,是直接得到值
結果for of不能對象用
對於新出來的Map,Set上面
如下
[javascript] view plain copy
- var set = new Set();
- set.add("a").add("b").add("d").add("c");
- var map = new Map();
- map.set("a",1).set("b",2).set(999,3);
- for (let v of set) {
- console.log(v);
- }
- console.log("--------------------");
- for(let [k,v] of map) {
- console.log(k,v);
- }
結果如下:
a
b
d
c
--------------------
a 1
b 2
999 3
然這個用for in是遍歷不了的
推薦閱讀:
※Python · SVM(四)· SMO 演算法
※六步使用Python寫一個小小的自動化項目監控客網站全實現
※pandas可視化(2)【官方文檔解讀】-- 條形圖、直方圖
※初學 Python,有哪些 Pythonic 的源碼推薦閱讀?
※django系列二:Hello World