Помогите, пожалуйста, найти ошибку в коде! Выдаёт "output.push is not a function". Заранее спасибо!

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Моя первая настоящая HTML-страничка</title>
</head>
<body>
<h1>Привет, мир!</h1>
<p>Моя первая веб-страничка.</p>
<script>
var input = "javascript is awesome";
var output = "";
for (i = 0; i < input.length; i++) {
var ace = input[i] 
if (input[i] === "a") {
output.push ("4");
} else if (input[i] === "e") {
output.push ("3");
} else if (input[i] === "i") {
output.push ("1");
} else if (input[i] === "o") {
output.push ("0");
} else { 
output.push (ace)
}
}
console.log (output);
</script>
</body>
</html>

Ответы (1 шт):

Автор решения: Denis640Kb

У Вас output не является массивом, а строка.
Чтобы иметь возможность добавлять элементы в конец массива, что делает функция push, Вам необходимо, чтобы output был массивом.

    var input = "javascript is awesome";
    var output = [];
    for (i = 0; i < input.length; i++) {
        var ace = input[i];
        if (input[i] === "a") {
            output.push ("4");
        } else if (input[i] === "e") {
            output.push ("3");
        } else if (input[i] === "i") {
            output.push ("1");
        } else if (input[i] === "o") {
            output.push ("0");
        } else {
            output.push (ace)
        }
    }
    console.log (output);
<head>
    <meta charset="UTF-8">
    <title>Моя первая настоящая HTML-страничка</title>
</head>
<body>
<h1>Привет, мир!</h1>
<p>Моя первая веб-страничка.</p>

→ Ссылка