2014-03-31 40 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"); 
    }