как инициализировать член массива JS? - PullRequest
0 голосов
/ 04 августа 2020

Я написал это только для того, чтобы получить n от пользователя, а также n имен, а затем распечатать их на экране после нажатия кнопки, но я не могу инициализировать свой массив ...

    <!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>

1 Ответ

1 голос
/ 04 августа 2020

Проблема в том, что в функции mf2 вы не можете получить доступ к именам [i], потому что вы увеличиваете i ++ раньше.

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++;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...