簡體   English   中英

在Javascript中迭代數組

[英]Iterating over Arrays in Javascript

我是一個JavaScript新手。 我正在嘗試一些示例JavaScript問題。 關於迭代數組的問題,我有點卡住了。 誰能指出我正確的方向?

我試圖獲取oldArray的值,為每個值添加5,並存儲在newArray

var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42];

var newArray = [];

function plusFive(oldArray[i]) {

    for (var i = 0; i < oldArray.length; i++) {
        newArray.push(oldArray[i]) + 5) };
    }
}

代碼中的錯誤是push語句行中的附加括號和右括號,只需刪除它們即可。 此外,不需要在此處設置函數參數,因為兩個數組都可以在函數內部訪問,如果要傳遞,則需要將其更改為function plusFive(oldArray) ,並使用數組作為參數調用函數。

newArray.push(oldArray[i] + 5) ;
//-----------------------^----^-

工作片段:

 var newArray = []; function plusFive(oldArray) { for (var i = 0; i < oldArray.length; i++) { newArray.push(oldArray[i] + 5) }; } plusFive([1,2,4,6,32,44]); document.write( 'New array :' + '<pre>' + JSON.stringify(newArray) + '</pre>' ); 


沒有數組作為參數的函數

 var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42]; var newArray = []; function plusFive() { for (var i = 0; i < oldArray.length; i++) { newArray.push(oldArray[i] + 5) }; } plusFive(); document.write( 'Old array :' + '<pre>' + JSON.stringify(oldArray) + '</pre>' + 'New array :' + '<pre>' + JSON.stringify(newArray) + '</pre>' ); 


但最好使用map()從現有數組創建修改后的數組

 var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42]; var newArray = oldArray.map(function(v) { return v + 5; }); document.write( 'Old array :' + '<pre>' + JSON.stringify(oldArray) + '</pre>' + 'New array :' + '<pre>' + JSON.stringify(newArray) + '</pre>' ); 

您的代碼幾乎是正確的,但您錯誤地關閉了括號,並且您需要正確命名函數參數。 對於函數參數,您只是給出標簽。 你不能將變量命名something[a] ,而參數不能被命名為 something[a]

嘗試:

var oldArray = [12, 45, 6, 23, 19, 20, 20, 15, 30, 42];

var newArray = [];

function plusFive(oldArray) {
    for (var i = 0; i < oldArray.length; i++) {
        newArray.push(oldArray[i] + 5)
    }
}

plusFive();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM