js中forEach,for in,for of循環的用法

js中forEach,for in,for of循環的用法

js中循環語句有forEach,for in,for of 三種了

一般的遍曆數組的方法:

[javascript] view plain copy

  1. var array = [1,2,3,4,5,6,7];
  2. for (var i = 0; i < array.length; i) {
  3. console.log(i,array[i]);
  4. }

結果如下:

0 1

1 2

2 3

3 4

4 5

5 6

6 7

用for in的方遍曆數組

[javascript] view plain copy

  1. for(let index in array) {
  2. console.log(index,array[index]);
  3. };

結果如下:

0 1

1 2

2 3

3 4

4 5

5 6

6 7

上述兩個結果是一樣的.

也可以用forEach

[javascript] view plain copy

  1. array.forEach(v=>{
  2. console.log(v);
  3. });

結果如下:

1

2

3

4

5

6

7

forEach的缺點也是很明顯的,就是不能中斷

除了上面方法,還可以用forEach

可以使用forEach方法,這個是數組對象自帶的:

[javascript] view plain copy

  1. array.forEach(function(v) {
  2. console.log(v);
  3. });

結果如下:

1

2

3

4

5

6

7

用for in不僅可以對數組,也可以對enumerable對象操作

如下:代碼

[javascript] view plain copy

  1. var A = {a:1,b:2,c:3,d:"hello world"};
  2. for(let k in A) {
  3. console.log(k,A[k]);
  4. }

結果如下:

a 1

b 2

c 3

d hello world

在ES6中,增加了一個for of循環,使用起來很簡單

對於數組

[javascript] view plain copy

  1. for(let v of array) {
  2. console.log(v);
  3. };

結果如下:

1

2

3

4

5

6

7

對於字元串則可以

[javascript] view plain copy

  1. let s = "helloabc";
  2. for(let c of s) {
  3. console.log(c);
  4. }

結果如下:

h

e

l

l

o

a

b

c

[javascript] view plain copy

  1. for(let index in s) {
  2. console.log(index,s[index]);
  3. }

結果如下:

0 h

1 e

2 l

3 l

4 o

5 a

6 b

7 c

總結來說:for in總是得到對像的key或數組,字元串的下標,而for of和forEach一樣,是直接得到值

結果for of不能對象用

對於新出來的Map,Set上面

如下

[javascript] view plain copy

  1. var set = new Set();
  2. set.add("a").add("b").add("d").add("c");
  3. var map = new Map();
  4. map.set("a",1).set("b",2).set(999,3);
  5. for (let v of set) {
  6. console.log(v);
  7. }
  8. console.log("--------------------");
  9. for(let [k,v] of map) {
  10. console.log(k,v);
  11. }

結果如下:

a

b

d

c

--------------------

a 1

b 2

999 3

然這個用for in是遍歷不了的


推薦閱讀:

Python · SVM(四)· SMO 演算法
六步使用Python寫一個小小的自動化項目監控客網站全實現
pandas可視化(2)【官方文檔解讀】-- 條形圖、直方圖
初學 Python,有哪些 Pythonic 的源碼推薦閱讀?
django系列二:Hello World

TAG:自然科學 | Python |