javascript-數組的常用方法

來源:互聯網
上載者:User

標籤:返回結果   color   ever   str   退出   函數傳回值   dex   過濾器   shift   

不知大家是否有過跟我類似的經曆,就是切圖仔剛開始做切圖頁面的時候,經常調用一些別人寫的jquery外掛程式,例如音樂播放器這種需要切換多首音樂的外掛程式。調用的時候就必須有一個音樂隊列,而這個隊列就是一個數組,而需求方希望能在頁面的html通過date屬性擷取到javascript就可以自動產生歌曲列表。當時的我並沒有系統地看過一些javascript的基礎知識,自己丈二的和尚,摸不著頭腦,就不知道怎麼辦。

後來查了一下ECMAScript給數組這個對象已經原生地封裝了許多很有用的方法,所以接下來我想在這裡總結一下一些常用的數組內建方法:

1、join

var colors = ["red","blue","green"];colors.join("$$");   colors.toString();  //"red$$blue$$green"

join()用於改變數組的分割。

 

2、修改數組內部資料的方法

//*//*插入方法//*//push方法var colors = ["red"];colors.push("blue","green"); //3colors.toString();  //"red,blue,green"//unshift方法var colors = ["red"];colors.unshift("blue","green");  //3colors.toString();  //"blue,green,red"//*//*刪除(退出)數組項方法//* //pop方法var colors = ["red","blue","green"];colors.pop();  //"green"//shift方法var colors = ["red","blue","green"];colors.shift();  //"red"//*//*功能最強的方法——splice(索引位置,要刪除的個數,要插入的若干項資料)//*//作為刪除用途var colors = ["red","blue","green"];colors.splice(1,1);  //["blue"]colors.toString()  //"red,green"//作為替換用途var colors = ["red","blue","green"];colors.splice(1,2,"white","black");  //["blue", "green"]colors.toString();  //"red,white,black"//作為插入用途var colors = ["red","blue","green"];colors.splice(1,0,"white","black");   //[]colors.toString();  //"red,white,black,blue,green"

 

push()方法是從數組最後插入數組項,而unshift()則是從數組的最前插入數組項,注意插入的數組項在該數組的順序保持與參數時候一致。

pop()方法是從數組最後“彈出”數組項,而unshift()則是從數組的最前“彈出”數組項。

而splice方法可以實現插入、刪除、替換這3種功能:splice(索引位置,要刪除的個數,要插入的若干項資料)

 

3、迭代方法

 

var numbers = [1,2,3,4,5,4,3,2,1];//*//*判斷數組每一項//*//every只有每一項都返回true,整個才會返回truenumbers.every(function(item,index,array){return item>2})  //false//some只要有一項返回true,整個就會返回truenumbers.some(function(item,index,array){return item>2})  //true//*//*filter過濾器,返回一個由符合的項組成的數組//*numbers.filter(function(item,index,array){return item>2})   //[3, 4, 5, 4, 3]//*//*逐項執行的迭代//*//map有返回結果numbers.map(function(item,index,array){return item*2})   //[2, 4, 6, 8, 10, 8, 6, 4, 2]//forEach沒有返回結果numbers.forEach(function(item,index,array){array[index] = item*2}) ;alert(numbers);  //[2, 4, 6, 8, 10, 8, 6, 4, 2]

大家可以根據不同的需求來調用js提供的原生的迭代方法!!

4、歸併方法

最後是歸併方法reduce()和reduceRight(),兩者都會迭代數組所有項,其中reduce()從第一項開始,而reduceRight()從數組最後一項開始,出此之外兩個函數完全相同

//reduce()中pre第一次為數組第一項,第二次開始為第一次函數傳回值為prevar values = [1,2,3,4,5];var sum=values.reduce(function(pre,cur,index,array){return pre + cur});alert(sum); //15//reduceRight()中pre第一次為數組最後一項,第二次開始為第一次函數傳回值為prevar values = [1,2,3,4,5];var sum=values.reduceRight(function(pre,cur,index,array){return pre + cur});alert(sum); //15

其實forEach()也完全可以實現,並且比以上兩個歸併方法更好理解,怎樣實現這功能也看個人習慣。

javascript-數組的常用方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.