簡體   English   中英

如何僅使用unshift()將數字添加到數組?

[英]How can I add numbers to array simply using unshift()?

如何使用'unshift()'將數字倒置添加到數組中?

我想得到一個數組= {2018,2017,2016,2015,...,1999}。 因為“ 2018”是今年,“ 1999”是我喜歡的歌手的處子秀。 這就是為什么我從“ 1999”開始,它是array [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>

像這樣嗎

 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); 

這樣可以根據需要使用unshift()將明年添加到數組的開頭。 這消除了像您那樣反轉陣列的需要。

這里值得注意的是,我們總是取消Years years[0]+1的值,因為數組反轉了,使得最大的數字始終位於索引0。

您為什么甚至需要一個數組?

 var currentYear = new Date().getFullYear(); for (var year = currentYear; year >= 1999; year--){ document.write('<li><a href='+year+'.html>'+year+'</a></li>'); } 

如果我修改代碼以生成years的陣列。 最初的年份應該是這樣的,即首次亮相

 this.years = function(debutYear) { var currentYear = new Date().getFullYear(), years = []; while ( debutYear <= currentYear ) { years.push(debutYear++); } return years.reverse(); } console.log(years(1999)); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM