2011-12-20 16 views
0

我正在設置一個籃球運動,應該從一開始就按下一個按鈕來運行。但錯誤控制檯說我的Teamarray沒有定義。我的代碼有什麼問題?籃球比賽模擬:數組未定義

function teamArray(list) 
//Assumes: all basketball teams 
//Returns: a random team from the list 
{ 
var teamArray, randomIndex; 

teamArray = ['Sales', 'HR', 'Accounting', 'Marketing', 'Engineering', 'Manufacturing', 'IT', 'Legal']; 

randomIndex = RandomInt(0, list.length-1); 

index=0; 
while (index < teamArray.length) { 
teamArray[index] = randomIndex; 
index = index * 1; 
} 

return teamArray; 

document.getElementById('team1').value = teamArray[0]; 
document.getElementById('team2').value = teamArray[1]; 
document.getElementById('team3').value = teamArray[2]; 
document.getElementById('team4').value = teamArray[3]; 
document.getElementById('team5').value = teamArray[4]; 
document.getElementById('team6').value = teamArray[5]; 
document.getElementById('team7').value = teamArray[6]; 
document.getElementById('team8').value = teamArray[7]; 

} 

編輯:

<input type="button" value="Start Tournament" onclick="teamArray(list); AddBonus(); TotalScore(); Winner(); "> 
+0

它說錯誤在哪裏發生? – 2011-12-20 05:51:21

+0

你正在從函數中返回teamArray,然後在dom中做一些修改!其次,你確定你正在使用正確的拼寫(不想聽起來居高臨下,但它已經發生在我身上) – 2011-12-20 05:54:40

+0

請顯示你的按鈕。如果您的控制檯在您的問題中使用大寫「T」和小寫「a」來表示「Teamarray」,那麼這就是您的第一個問題:JavaScript區分大小寫,而您的函數是「teamArray」而不是「Teamarray」。除此之外,該功能還有許多問題,包括(但不限於)下面詳細介紹的RobG。 – nnnnnn 2011-12-20 06:29:29

回答

0

在您的代碼:

> randomIndex = RandomInt(0, list.length-1); 

什麼RandomeInt回報?它是0和list.length-1之間的隨機數嗎?

> index=0; 

標識符index未聲明所以在這一點它成爲一個全局變量。

> while (index < teamArray.length) { 
>  teamArray[index] = randomIndex; 
>  index = index * 1; 

乘以數量由1只返回的數量,這將產生一個死循環,也許你的意思是:

index += 1; 

++index; 

} return teamArray;

返回執行後沒有代碼。我不確定你想要做什麼,你期望teamArray是什麼?一組數字?來自原隊阿里的成員?您似乎正在用數字替換已聲明的成員。

+0

此外while循環(一旦固定了「* 1」)將用相同的隨機數替換數組中的每個元素。 – nnnnnn 2011-12-20 06:25:48