如何使用javascript中的promt向数组添加新元素



我正试图在js上运行一个非常简单的代码,它应该在提示下向数组添加元素,但什么也没发生。这是代码:

HTML:

<body onload="loadBooks()">
<button onclick="myFunction()">Add your Favourite</button>
<p id="books"></p>

JS:

var books= ["Little Prince","The Alchemist","Alice in Wonderland"];
function loadBooks(){

document.getElementById('books').innerHTML= books;
}
function myFunction(){

var book= prompt("What is your favourite book?");

books[books.lenght]=book;

document.getElementById("books").innerHTML= books;
}

它怎么了?

您拼错了length(拼写为lenght(。

规范的方法是像这样使用var new_length = array.push(elements...)

books.push(book); 

修复了您的代码,并做了一些改进-

<script>
// your custom ajax request here
var books = ["Little Prince", "The Alchemist", "Alice in Wonderland"];
function loadBooks() {
document.getElementById('books').innerHTML = books;
}
function myFunction() {
var book = prompt("What is your favourite book?");
books[books.length] = book;
loadBooks();
}
</script>
<body onload="loadBooks()">
<button onclick="myFunction()">Add your Favourite</button>
<p id="books"></p>
</body>

最新更新