如何使用'unshift()'??
将数字颠倒添加到数组中我想得到一个数组= {2018,2017,2016,2015,...,1999}。 因为'2018'是今年,'1999'是我喜欢的歌手的首演年。 这就是为什么我从'1999'开始,它是数组[0]。
这是我的代码使用'push()'。我认为这太长而且太愚蠢了。我相信有些东西我无法想出来。谢谢。
<script>
var years = [1999];
var i = 0;
var n = new Date().getFullYear() - years[i] + 1;
while(i < n){
years.push(years[i]+1);
i++;
}
i=1;
years.reverse();
while(i < years.length){
document.write('<li><a href='+years[i]+'.html>'+years[i]+'</a></li>');
i++;
}
</script>
答案 0 :(得分:2)
这样的东西?
var years = [1999];
var i = 0;
var n = new Date().getFullYear() - years[i];
while (i < n) {
years.unshift(years[0]+1);
i++;
}
console.log(years);
&#13;
这会将明年添加到数组的开头,并使用unshift()
。这样就不需要像你那样反转数组了。
值得注意的是,我们总是取消years[0]+1
的值,因为数组被反转,使得最大数字总是在索引0处。
答案 1 :(得分:2)
为什么你甚至需要一个阵列?
var currentYear = new Date().getFullYear();
for (var year = currentYear; year >= 1999; year--){
document.write('<li><a href='+year+'.html>'+year+'</a></li>');
}
答案 2 :(得分:0)
如果我修改您的代码以在数组中生成years
。对于初始年份应该是这样的,即 debutYear
this.years = function(debutYear) {
var currentYear = new Date().getFullYear(), years = [];
while ( debutYear <= currentYear ) {
years.push(debutYear++);
}
return years.reverse();
}
console.log(years(1999));