I am learning arrays in JavaScript and I am using the foreach with the push method.
The following code is working as its supposed to:
JavaScript
x
16
16
1
let numbers = [-1, -2, -3, 5, 6, 1]
2
let pos = []
3
let neg = []
4
5
numbers.forEach(number => {
6
if (number<0) {
7
neg.push(number)
8
} else {
9
pos.push(number)
10
}
11
12
})
13
14
document.write("Number of positive numbers are: "+pos + "<br>" + "<br>")
15
document.write("Number of negative numbers are: "+neg)
16
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:
JavaScript
1
26
26
1
let numbers = []
2
let pos = []
3
let neg = []
4
5
let number = parseInt(prompt("Input nr"))
6
document.write("Your input nr was: " + number + "<br>" + "<br>")
7
8
while (number != 0) {
9
10
number = parseInt(prompt("Input nr"))
11
document.write("Your input nr was: " + number + "<br>" + "<br>")
12
13
numbers.forEach(number => {
14
if (number<0) {
15
neg.push(number)
16
} else {
17
pos.push(number)
18
}
19
20
})
21
22
}
23
24
document.write("Number of positive numbers are: "+pos + "<br>" + "<br>")
25
document.write("Number of negative numbers are: "+neg)
26
What have I done wrong in my code?
Advertisement
Answer
You need to push the number into numbers array
JavaScript
1
2
1
numbers.push(number)
2
JavaScript
1
24
24
1
let numbers = []
2
let pos = []
3
let neg = []
4
5
let number = parseInt(prompt("Input nr"))
6
numbers.push(number)
7
document.write("Your input nr was: " + number + "<br>" + "<br>")
8
while (number != 0) {
9
10
number = parseInt(prompt("Input nr"))
11
numbers.push(number)
12
document.write("Your input nr was: " + number + "<br>" + "<br>")
13
}
14
numbers.forEach(number => {
15
if (number<0) {
16
neg.push(number)
17
} else {
18
pos.push(number)
19
}
20
21
})
22
23
document.write("Number of positive numbers are: "+pos + "<br>" + "<br>")
24
document.write("Number of negative numbers are: "+neg)