談談JavaScript數組常用方法總結,談談javascript數組

來源:互聯網
上載者:User

談談JavaScript數組常用方法總結,談談javascript數組

在JavaScript中,我們需要時常對數組進行操作,現在特將常用方法總結如下:

1.增加資料

在JavaScript為數組增加資料主要分為兩種方式。

 從數組末尾增加內容:push方法

從數組的前端增加內容:unshift方法

這兩種方法的傳回值都是數組的長度

var arr=[1,2,3]; //從末尾增加 arr.push(4); console.log(arr);//[1,2,3,4]  //從前端增加 arr.unshift(0); console.log(arr);//[0,1,2,3,4] 

2.刪除資料

和增加資料一樣,刪除資料和主要分為兩種方式。

從數組末尾增加內容:pop方法

從數組的前端增加內容:shift方法

這兩種方法的傳回值都是刪除的資料

var arr=[1,2,3]; //從末尾刪除 arr.pop(); console.log(arr);//[1,2]  //從前端刪除 arr.unshift(); console.log(arr);//[2] 

3.從指定位置刪除和增加資料

splice(startIndex,deleteCount,addValue1,addValue2...):從數組的startIndex位置開始,刪除deleteCount個資料,然後在插入addValue1,addValue2等,傳回值是被刪除的數組所組成的數組。

var arr=[1,2,3,4,5]; var deleteArr=arr.splice(1,2,8,9);  console.log(deleteArr);//[2,3] console.log(arr);//[1,8,9,4,5] 

從上面所知,數組的刪除方法返回的都是被刪除的內容,增加的方法返回的都是數組改變後的長度。

4.反序數組

reverse():將數組內容逆序。

var arr=[1,2,3]; arr.reverse(); console.log(arr);//[3,2,1] 

5.將數組內容組成一個有特定分隔字元的字串

join(seperator):將數組內容組成一個字串,內容以seperator分隔

var arr=[1,2,3]; arr.join(','); console.log(arr);//1,2,3 

6.合并兩個數組

concat():合并數組並返回一個新的數組,不影響原有數組。

var arr1=[1,2,3]; var arr2=[4,5,6];  var newArr=arr1.concat(arr2);  console.log(arr1);//[1,2,3] console.log(arr2);//[4,5,6] console.log(newArr);//[1,2,3,4,5,6] 

7.數組排序

sort():預設將數組進行數字或字母進行升序排序,但也可以自訂降序排序

var arr=[3,5,1];  arr.sort();  console.log(arr);//[1,3,5];  //指定降序 var arr1=[4,2,7]; arr1.sort(function(a,b){   return b-a; }) console.log(arr1);//[7,4,2] 

8.截取子數組

slice(startIndex,endIndex):截取數組中從startIndex到endIndex之間的內容,不包括endIndex所在位置的內容組成一個新的數組

var arr=[1,2,3,4,5,6];  var newArr=arr.slice(1,3);  console.log(arr);//[1,2,3,4,5,6] console.log(newArr);//[2,3] 

 9.判斷給定資料在數組中的位置

indexOf(data):該方法返回data在該數組中所在的第一個元素位置,如果沒有找到就返回-1

var arr=[1,2,3];  var loc=arr.indexOf(1); console.log(loc);//0  var newLoc=arr.indexOf(4); console.log(newLoc);//-1 

10.迭代器

數組的迭代器方法很多。

a.普通的遍曆數組:forEach(function(value,index,arr){}),其中index是索引,value是值,arr就是數組本身

var arr=[1,2,3];  //index是索引,value是值 arr.forEach(function(value,index,arr){    console.log(''index:"+index+" "+"value:"+value) }) 

b.過濾數組:filter(),根據過濾條件過濾數組,但不會改變原有數組

var arr=[1,2,3,4];  //返回數組中大於2的內容 var newArr=arr.filter(function(item){   return item>2; })  console.log(arr);//[1,2,3,4] console.log(newArr);//[3,4] 

c.映射數組:map(),對數組每個元素進行一定映射後,返回一個新數組,不會改變原有數組

var arr=[1,2,3,4];  //將數組每個值擴大一倍 var newArr=arr.map(function(item){   return item*2; });  console.log(arr);//[1,2,3,4] console.log(newArr);//[2,4,6,8] 

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援幫客之家。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.