在先前的文章中我們了解了迭代數組的兩種方法,感興趣的可以點擊連結進行查閱→《JS數組學習之迭代數組計算元素總和、將值連接成字串 》。這次我們繼續JavaScript數組的學習,看看怎麼遍歷數組,對數組中的每個元素進行處理(例如值全部擴大一倍),有需要的朋友可以學習了解一下~
遍歷數組,第一個想到的方法就是使用for循環了,利用它我們可以很簡單的將全部元素值都擴大一倍(即乘以2)
var a = [5,10,20]; for(var i=0;i<a.length;i++){ a[i]=2*a[i]; } console.log(a);
輸出結果:
也可以使用for in語句來遍歷陣列。 在 for/in 循環結構中,變數 i 表示陣列的下標,而 a[i] 則為可讀取指定下標的元素值。
var a = [10,20,30]; for(var i in a){ a[i]=2*a[i]; } console.log(a);
輸出結果:
也可以利用先前文章提到的forEach()方法來遍歷陣列,此方法可以呼叫數組的每個元素,並將元素傳遞給回調函數。
var a = [20,30,40]; function f(value) { console.log(value*2); } a.forEach(f);
輸出結果:
也可以利用map()方法來遍歷陣列,map()方法可以對數組的每個元素呼叫指定的回調函數,並傳回包含結果的陣列。
array.map(function callbackfn (value, index, array), thisArg);
function callbackfn (value, index, array)
:一個回呼函數,最多可接受三個參數:
value:陣列元素的值。
index:陣列元素的數字索引。
array:包含該元素的陣列物件。
以下透過程式碼範例來具體了解一下:
範例1:將全部元素值都擴大一倍(即乘以2)
var a = [30,40,50]; function f(value) { return value*2; } var a1=a.map(f); console.log(a1);
輸出結果:
範例2:使用 JavaScript 內建方法作為回呼函數
var a = [9, 16]; var a1 = a.map(Math.sqrt); console.log(a1); //3,4
好了,就說到這裡了,有需要的可以看:javascript影片教學
#以上是JS數組學習遍歷數組,將元素值全部擴大一倍的詳細內容。更多資訊請關注PHP中文網其他相關文章!