2014-01-19 51 views
1
var myList = ["Hello There World", "meatball", "cookie monster"]; 

var BreakUpFirst = function (myList) { 
document.write(myList[0].split(" ")); 
}; 

您好,我是JavaScript新手,請耐心等待。不知道我在這裏做錯了什麼。如何在Javascript中引用函數內的數組方法

我想破壞myList數組中的第一個字符串到3個值的數組中。除了函數外,split方法對我來說工作正常,但我無法讓它在裏面工作。我想創建BreakUpFirst作爲一個新的數組,並保留myList或任何其他我通過它的數組。

+2

爲什麼不只是'var BreakUpFirst = myList [0] .split(「」);'? – thefourtheye

+0

你沒有執行這個功能 - 你只是定義了一個。你以後需要'BreakUpFirst()'來實際運行代碼... –

+0

當我運行代碼後仍然出現錯誤。我正試圖學習如何通過函數傳遞數組,並希望數組成爲函數的參數。 JavaScript錯誤:未捕獲TypeError:無法讀取第5行未定義的屬性'0' – user3211495

回答

1

你實際上在這裏做了幾件不同的事情。如果您只想將myList[0].split(" ")的值指定爲var BreakUpFirst,那麼@thefourtheye建議的解決方案是理想的。就在值直接分配:

var BreakUpFirst = myList[0].split(" "); 

如果你想使用的功能,將永遠分手存放在數組並輸出到屏幕上的第一個元素的字符串,那麼你需要確保你傳入數組作爲參數。如果你定義功能:

var BreakUpFirst = function(myList) { 
    return myList[0].split(" "); 
} 

var myList = ["Hello There World", "meatball", "cookie monster"]; 

你需要確保你調用函數,並通在參數

var brokenString = BreakUpFirst(myList); 
alert(brokenString); 

,你會得到一個警告框與brokenString陣列,"Hello","There","World"

+0

這樣做很有道理,但我仍然在提示框中顯示'undefined'。希望能夠在彈出「警報」(brokenString [1])時得到「There」;'感謝您的幫助! – user3211495

+1

@ user3211495:問題是使用'document.write()'。這應該只是一個回報。我已經編輯了答案,因爲看起來非常清楚,那是citizenlave的意思。 – Chuck

相關問題