2014-04-22 124 views
-1

我新編程在JavaScript中,並不斷收到「未定義不是函數」類型的錯誤。該計劃適用於歐拉項目Problem 4。我在這裏先向您的幫助表示感謝。'類型錯誤「未定義不是函數」

var biggestNumber = 0; 
var q = ''; 
var x = 1; 
for (var i = 100; i < 1000; i ++) { 
    var y = i -1; 
    var z = y*i; 
    for (var s = 0;s <= (z.length);s++){ 
     if (str(z)[s] === (str(z)((length.x)-s))){ 
      q.append('1'); 
     } 
     else{ 
      q.append('0'); 
     } 
    } 
    if (q.index('0') === -1){ 
     q = q; 
    } 
    else{ 
     q = z; 
    } 
    if (z > biggestNumber){ 
     biggestNumber = z; 
    } 
} 
console.log(biggestNumber); 
+0

按F12打開您的控制檯。點擊錯誤,並導航到代碼中發生錯誤的行。這些信息對我們這些試圖幫助你的人非常有幫助。 –

+0

控制檯中的錯誤是「TypeError:q.index不是函數」if(q.index('0')=== -1){'「。 。 。以下Yuriy Galanter的答案是正確的。 – talemyn

回答

1

這不是index它是indexOf。取而代之的

if (q.index('0') === -1){ 

if (q.indexOf('0') === -1){ 
2

在你內心的for循環您嘗試執行 「海峽」 與參數 「Z」 的功能:

for (var s = 0;s <= (z.length);s++){ 
    if (str(z)[s] === (str(z)((length.x)-s))){ 
     q.append('1'); 
} 

的變量「str」在上面腳本的任何地方都沒有定義。這很可能是由錯誤產生的地方。您要麼缺少一些代碼,要麼做了複製/粘貼/拼寫錯誤。

事實上,這整條生產線就會混亂:

(str(z)[s] === (str(z)((length.x)-s))) 

如果沒有更多的情況下,這是不可能回答您的問題或進一步的幫助。

相關問題