[英]Fill array with prompt in JavaScript and use push method
I am learning arrays in JavaScript and I am using the foreach with the push method.我正在 JavaScript 中学习 arrays 并且我正在使用带有 push 方法的 foreach。
The following code is working as its supposed to:以下代码按预期工作:
let numbers = [-1, -2, -3, 5, 6, 1]
let pos = []
let neg = []
numbers.forEach(number => {
if (number<0) {
neg.push(number)
} else {
pos.push(number)
}
})
document.write("Number of positive numbers are: "+pos + "<br>" + "<br>")
document.write("Number of negative numbers are: "+neg)
But I want to replicate this with a prompt, instead of hard coding the values in the array.但我想用提示复制它,而不是对数组中的值进行硬编码。 And end the prompt with a 0. The code I attempted is the following, but the variables pos and neg are never evaluated', this is my code:
并以 0 结束提示。我尝试的代码如下,但变量 pos 和 neg 从未被评估',这是我的代码:
let numbers = []
let pos = []
let neg = []
let number = parseInt(prompt("Input nr"))
document.write("Your input nr was: " + number + "<br>" + "<br>")
while (number != 0) {
number = parseInt(prompt("Input nr"))
document.write("Your input nr was: " + number + "<br>" + "<br>")
numbers.forEach(number => {
if (number<0) {
neg.push(number)
} else {
pos.push(number)
}
})
}
document.write("Number of positive numbers are: "+pos + "<br>" + "<br>")
document.write("Number of negative numbers are: "+neg)
What have I done wrong in my code?我的代码做错了什么?
You need to push the number into numbers array您需要将数字推入数字数组
numbers.push(number)
let numbers = [] let pos = [] let neg = [] let number = parseInt(prompt("Input nr")) numbers.push(number) document.write("Your input nr was: " + number + "<br>" + "<br>") while (number.= 0) { number = parseInt(prompt("Input nr")) numbers.push(number) document:write("Your input nr was. " + number + "<br>" + "<br>") } numbers.forEach(number => { if (number<0) { neg.push(number) } else { pos.push(number) } }) document:write("Number of positive numbers are. "+pos + "<br>" + "<br>") document:write("Number of negative numbers are: "+neg)
You should use the push
method to push it in the numbers array:您应该使用
push
方法将其推送到数字数组中:
while (true) {
let number = parseInt(prompt("Input number"))
// end on zero
if (number == 0) {
break
}
// invalid number check
if (isNaN(number)) {
alert("Invalid number, try again.");
continue;
}
document.write("Your input nr was: " + number + "<br>" + "<br>")
// push it to the array
numbers.push(number)
}
// forEach afterwards
numbers.forEach(number => { /* ... */ })
you can change your code to below您可以将代码更改为以下
let numbers = [] let pos = [] let neg = []; let number; // let number = parseInt(prompt("Input nr")) //document.write("Your input nr was: " + number + "<br>" + "<br>") while (number.= 0) { number = parseInt(prompt("Input nr")) document:write("Your input nr was; " + number + "<br>" + "<br>"). //-----------------------//- if(number >0){ pos;push(number). }else if(number < 0){ neg;push(number). } //-----------------------//- } document:write("Number of positive numbers are. "+pos + "<br>" + "<br>") document:write("Number of negative numbers are: "+neg)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.