首頁  >  文章  >  web前端  >  foreach, for in, for of 之間的異同

foreach, for in, for of 之間的異同

不言
不言原創
2018-07-07 10:54:371846瀏覽

這篇文章主要介紹了關於foreach, for in, for of 之間的異同,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

forEach() 方法用於呼叫數組的每個元素,並將元素傳遞給回調函數。

注意: forEach() 對於空數組是不會執行回呼函數的。

範例程式碼

1 var arr = [4, 9, 16, 25];
2 arr.forEach(function(value, index) {
3     console.log(index+': '+value+'\n');
4 });

#結果如下

for/in 語句用於循環物件屬性。

迴圈中的程式碼每執行一次,就會對陣列的元素或物件的屬性進行一次操作。

範例程式碼

1 var person = {
2     name: 'jack',
3     age: 18,
4     gender: 'male'
5 };
6 for(key in person) {
7     console.log(key+': '+person[key]+'\n');
8 }

#結果如下

需要注意的是,如果使用for in語句遍歷數組,可能會出現以下問題:

  1. 索引為字串類型,不能直接進行幾何運算。

  2. 遍歷順序有可能不是依照實際陣列的內部順序。

  3. 使用for in會遍歷陣列所有的可枚舉屬性,包括原型。

 如下圖

1 var arr = [12, 43, 19];
2 Array.prototype.index = 110;//这里的原型属性也会被打印出来
3 for(var index in arr) {
4     console.log(index+': '+arr[index]+'\n');
5 }

#執行結果

for of語句和for in 語句相比使用更方便,它是ES6新提出的遍歷數組的方式,

##具體使用

1 var arr = [12, 43, 19];
2 Array.prototype.index = 110;//此原型属性不会被打印出来
3 for(var value of arr) {
4     console.log(value+'\n');
5 }

結果如下

綜述:foreach更多的用來遍歷數組,但使用比較複雜;for in 一般常用來遍歷

物件;for of 用來遍歷數組非常方便且比較安全。

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

JS非同步程式設計之Promise、Generator、async/await

js中var、let、 const的差異

#

以上是foreach, for in, for of 之間的異同的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn