Khalil Hijazi
Khalil Hijazi

Reputation: 431

How to enter the strings from prompt into an array?

Here's my code. I've tried a lot of things but it's not working. Please don't give me some complicated code, because I'm merely an intermediate programmer in javascript. So try to make things as simple as possible if you can. Thanks to everyone who helps.

function readNumberOfEntries() {
                var entryNumber, numberOfEntries, a;
                do {
                    numberOfEntries = Number(prompt("Enter Value Here"));
                    if (numberOfEntries < 2) {
                        alert("Error: Number is not greater than or equal to 2");
                    }
                } while (numberOfEntries < 2);
                for (entryNumber = 0; entryNumber < numberOfEntries; entryNumber++) {
                    a[entryNumber] = Number(prompt("Enter Value"));
                    a = new Array(numberOfEntries);
                    document.writeln(a);
                }
            }

Upvotes: 1

Views: 67

Answers (2)

dhouty
dhouty

Reputation: 1989

The issue with your code is that you are overwriting your array in each iteration of the for loop. This should fix your problem:

function readNumberOfEntries() {
    var entryNumber, numberOfEntries, a;

    do {
        numberOfEntries = Number(prompt("Enter Value Here"));
        if (numberOfEntries < 2) {
            alert("Error: Number is not greater than or equal to 2");
        }
    } while (numberOfEntries < 2);

    a = new Array(numberOfEntries);  

    for (entryNumber = 0; entryNumber < numberOfEntries; entryNumber++) {
        a[entryNumber] = Number(prompt("Enter Value"));
    }

    document.writeln(a);
}

Upvotes: 2

jrath
jrath

Reputation: 990

You should initialize your array before assignment/adding value into it.

      function readNumberOfEntries() {
            var entryNumber, numberOfEntries, a=[];
            do {
                numberOfEntries = Number(prompt("Enter Value Here"));
                if (numberOfEntries < 2) {
                    alert("Error: Number is not greater than or equal to 2");
                }
            } while (numberOfEntries < 2);
            for (entryNumber = 0; entryNumber < numberOfEntries; entryNumber++) {
               // a = new Array(numberOfEntries);
                a[entryNumber] = Number(prompt("Enter Value"));

                document.writeln(a);
            }
        }

Upvotes: 1

Related Questions