2014-03-31 66 views
0

你好我這樣做正確即時試圖用戶輸入添加到一個數組如何用用戶輸入填充數組?

while (repeat !== "n") 
    { 
    var Student = prompt("Enter Student Name: "); 
    var StudentArr = new Array(Student); 
    var mark = parseInt(prompt("Enter Student Mark: ")); 
    var markArr = new Array(mark); 
    var repeat = prompt ("Do you want to enter another student: y/n"); 
    } 
+0

你沒有給數組添加數值。這個數組創建了一個名爲student name.use array.push(「values」)的數組。 –

+0

重複是不明確的,當功能啓動 –

+0

可以請你告訴我你的意思更詳細我有點理解你的意思,但即時通訊真的是新的Java,我不知道如何使用推謝謝你 – HelloWorld

回答

1

的陣列需要在循環的外側。

var repeat, studentArr = [], markArr = []; 
while (repeat !== 'n' && repeat !== 'N'){ 
    studentArr.push(prompt("Enter Student Name: ")); 
    markArr.push(prompt("Enter Student Mark: ")); 
    repeat = prompt ("Do you want to enter another student: y/n"); 
} 
console.log('studentArr, markArr',studentArr, markArr); 

結果:

studentArr,markArr [ 「丹」, 「比爾」] [ 「A」, 「B」]

+0

Thankyou這麼多 – HelloWorld

+0

爲什麼選擇投票? – Remento

0

首先創建其中存在的,而範圍之外的陣列循環。如果你不這樣做,只要循環重複,對數組的所有更改都會丟失。

聲明新數組時,您將一個整數作爲n傳遞給new Array(n)。這決定了爲陣列分配多少陣列插槽。所以new Array(5)會創建一個有5個插槽的數組。如果你將n留空,那麼你將得到一個空數組。

var markArr = new Array(); //you can also do var markArr = []; 
var StudentArr = new Array(); 

while (repeat !== "n") 
    { 
    var Student = prompt("Enter Student Name: "); 
    //use the array push() method to add items to your array 
    var Student.push(Student); 
    var mark = parseInt(prompt("Enter Student Mark: ")); 
    markArr.push(mark); 
    var repeat = prompt ("Do you want to enter another student: y/n"); 
    }