這篇文章講述了JavaScript是如何遍歷數組的,大家對JavaScript遍歷數組不了解的話或者對JavaScript遍歷數組感興趣的話那麼我們就一起來看看這篇文章吧,好了廢話少說進入正題吧
本文總結js遍歷數組的方法:
問題:遍歷數組arr,將各個元素全部轉成大寫
var arr = ['a','b','c','d'];
方法1:for迴圈 這個方法比較常用
"use strict";var arr = ['a','b','c','d'];var arrUp = [];for(var i = 0; i < arr.length; i++){ arrUp.push(arr[i].toUpperCase()); } console.log(arrUp); //['A','B','C','D']
方法2:for in 迴圈 此方法通常用於遍歷物件(陣列一種特殊的物件)
"use strict";var arr = ['a','b','c','d'];var arrUp = [];for(var i in arr){ arrUp.push(arr[i].toUpperCase()); } console.log(arrUp); //['A','B','C','D']
方法3:forEach方法 陣列的迭代方法(下文解釋)
傳回值:無回傳值
"use strict";var arr = ['a','b','c','d'];var arrUp = []; arr.forEach(function(key, index, array){ arrUp.push(key.toUpperCase()); }); console.log(arrUp); //['A','B','C','D']
##方法4:map方法 陣列的迭代方法(下文解釋)
傳回值:傳回每次函數呼叫結果組成的陣列
"use strict";var arr = ['a','b','c','d'];var arrUp = arr.map(function(key, index, array){ return key.toUpperCase(); }); console.log(arrUp); //['A','B','C','D']對於上面的簡單問題,可能這個四種方法相對於比較好,但是問題一複雜呢
var arr = [1, 4, 10, 5, 8];
問題:對於這個數組,請計算大於6的數組元素個數 只是舉一個簡單的例子,上面的四種方法也行,只不過可能判斷比較麻煩,這裡介紹遍歷數組的方法,相信在不同的情景中,它們可能更優。
下面的方法,僅僅傳回值不同,其餘完全一樣:接收2個參數,一個函數(必選)和運行該函數的作用域物件(可選,一般不用,目前我不知道有什麼妙用,所以不做過多解釋)
//要接受的函数,本文叫判断函数function(key, index, array){ //key: 数组项值 //index: 该项的数组下标 //arr:待操作的数组}
方法5:every方法
傳回值:如果判斷函數對每一項都傳回true,則傳回true ##用處:
依條件偵測數組每一項,只想得到布林值"use strict";var arr = [1, 4, 10, 5, 8];var arrTest = arr.every(function(key, index, array){
return (key > 2);
});
console.log(arrTest); //false
方法6:filter方法 ##傳回值:傳回一個數組,陣列元素由判斷函數會回傳true的項組成
用處:條件篩選
"use strict";var arr = [1, 4, 10, 5, 8];var arrTest = arr.filter(function(key, index, array){ return (key > 6); }); console.log(arrTest); //[10, 8]方法7:some方法
## 傳回值:如果判斷函數對於任一項
傳回true,則傳回true 用處:條件篩選
"use strict";var arr = [1, 4, 10, 5, 8];var arrTest = arr.some(function(key, index, array){ return (key > 6); }); console.log(arrTest); //true
相關推薦:
#JavaScript遍歷陣列的方法總結
以上是JavaScript遍歷數組的方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!