2017-07-18 67 views
2
function myFunc() { 
    var word = document.getElementById("Text1").value; 
    var num = parseInt(document.getElementById("Text2").value); 
    var numstr = num.split(","); 
    var wordstr = word.split(""); 
    for (i = 0; i < word.length; i++) { 
    } 
    document.getElementById("myDiv").innerHTML += (wordstr[(numstr[i])-1]); 

} 

我的parseInt不正確嗎?我試過toString(),用ParseInt它什麼都不做,沒有它我得到'undefined'爲什麼我在這裏弄不明白?

+1

什麼是ID爲'Text2'的輸入?你能顯示你的HTML嗎? – Neal

+3

請閱讀[如何創建最小,完整和可驗證的示例](https://stackoverflow.com/help/mcve) – Ionut

+2

爲什麼'num'(現在是一個數字,因爲調用'parseInt')有一個'split'方法?你可以通過讓你的函數帶兩個參數(text1,text2)並返回你想放在「myDiv」中的值來使它成爲一個MCVE。你應該包括一個text1和text2會是什麼樣的例子(我假設有兩個字符串,其中一個可以轉換爲數字),以及你期望的輸出的例子 – Damon

回答

3

parseInt()函數解析一個字符串並返回一個整數。 您檢查輸入的編號爲"Text2"並在此處顯示您的HTML以清除問題。

+0

你是對的,例如輸入是「2,3,4,3」,我估計parseInt不喜歡逗號,但是我刪除了它並嘗試改變wordstr [parseInt(numstr [i]) - 1]基本上parseInting在那裏,它只是給了我一個空白的答案。 –

+0

如果它適合你,那麼接受我的答案來關閉這個問題@זיורוזוב – gaurav

1

不知道更多關於您的問題,它看起來像你誤解parseInt()如何工作。儘管誤導性的名字,它會逐字符讀取您的字符串,試圖創建一個整數。只要找到不能是整數部分的字符,它就會停止。

如果你將它傳遞給「1,2,3,4」,那麼它會讀取2的罰款,但作爲一個逗號不能被解析爲整數的一部分,它將返回號碼 2.它doesn'沒有必要在一個數字上調用split。正如其他人所說,你真的需要給我們更多的細節,讓我們能夠提供幫助,但我懷疑這個問題的很大一部分並不瞭解這些功能中的一些功能。

也許你可以解釋你想達到的目標,那麼我們可以幫助你達到目標。現在,沒有額外的信息,你的代碼不夠清晰。

相關問題