我正在尝试删除数组中的最后一个元素,但它最终会将删除的元素放回列表的顶部,而其他一些元素的列表则不同。
使用.sort()方法也是如此。输出显示五次这句话: 托尔斯泰写了战争与和平,吐温写了哈克贝利芬恩
var author_title = new Array(5)
author_title[0]="Tolstoy wrote War and Peace";
author_title[1]="Twain wrote Huckleberry Finn";
author_title[2]="Hardy wrote The Return of the Native";
author_title[3]="Dickens wrote A Christmas Carol";
author_title[4]="Uris wrote Exodus";
for(var count=0;count<author_title.length;count++) {
document.write(author_title.pop() + "<br>");
}
for(var count=0;count<author_title.length;count++) {
document.write(author_title.sort()+"<br>");
}
答案 0 :(得分:0)
如果你想改变你的数组,那么使用pop,在array.length
循环之外写一个等同于for
的变量,然后将你的变量设置为声明的变量。您必须记住每次使用.pop()时都要更改数组,从而在每次迭代中更改for-loop
。此外,<br />
适用于HTML,因此您可能忘记了
var length = array.length;
for( var i = 0; i > length; i++ ) {
document.write( array.pop() + "\n")
}
答案 1 :(得分:-2)
这部分内容无效。 for..in
循环遍历键为每个正确而不是值。它不适用于迭代数组。在我的机器上,它会生成0
,1
,2
等。
在迭代数组时,您还尝试pop
个元素。 pop
修改数组,因此迭代器将在每次迭代时失效。
你想要的是一个简单的for
循环:
for (var i = 0; i < author_title.length; ++i) {
console.log(author_title[i]);
}