Sina Keshmiri
Sina Keshmiri

Reputation: 39

how to initialize a member of JS array?

I just wrote this in order to take n from user and also n names , and then print them on screen after clicking on button , but i cant initialize my array ...

    <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
<script>
        var n;
        var i =0;
        var names = [];
        function mf1(){
             n=parseInt(document.getElementById("n").value);
        }
        function mf2(){
            if (i<n){
                names[i]=document.getElementById("nam").value;
                i++;
                document.getElementById("rem").innerHTML=names[i];
            }
        }

    </script>
    inset n : <input type="text" id="n"> <button onClick="mf1()">take n</button>
    insert name: <input type="text" id="nam"> <button onClick="mf2()"> take name</button>
    <p id="rem"></p>

</body>
</html>

Upvotes: 0

Views: 35

Answers (1)

sonEtLumiere
sonEtLumiere

Reputation: 4562

The problem is that in function mf2 you can't access names[i] because you increment i++ before.

var n;
var i = 0;
var names = [];
var input1 = document.getElementById("n");
var input2 = document.getElementById("nam");

function mf1(){
    n = parseInt(input1.value);
    console.log(n);
}

function mf2(){
    if (i < n){
       names[i] = input2.value;
       console.log(names);      
       document.getElementById("rem").textContent = names[i];
       i++;
    }
}

Upvotes: 1

Related Questions