溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

談?wù)凧avaScript數(shù)組常用方法總結(jié)

發(fā)布時間:2020-09-28 11:11:08 來源:腳本之家 閱讀:123 作者:zhoulu_hp 欄目:web開發(fā)

在JavaScript中,我們需要時常對數(shù)組進(jìn)行操作,現(xiàn)在特將常用方法總結(jié)如下:

1.增加數(shù)據(jù)

在JavaScript為數(shù)組增加數(shù)據(jù)主要分為兩種方式。

 從數(shù)組末尾增加內(nèi)容:push方法

從數(shù)組的前端增加內(nèi)容:unshift方法

這兩種方法的返回值都是數(shù)組的長度

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.刪除數(shù)據(jù)

和增加數(shù)據(jù)一樣,刪除數(shù)據(jù)和主要分為兩種方式。

從數(shù)組末尾增加內(nèi)容:pop方法

從數(shù)組的前端增加內(nèi)容:shift方法

這兩種方法的返回值都是刪除的數(shù)據(jù)

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

3.從指定位置刪除和增加數(shù)據(jù)

splice(startIndex,deleteCount,addValue1,addValue2...):從數(shù)組的startIndex位置開始,刪除deleteCount個數(shù)據(jù),然后在插入addValue1,addValue2等,返回值是被刪除的數(shù)組所組成的數(shù)組。

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] 

從上面所知,數(shù)組的刪除方法返回的都是被刪除的內(nèi)容,增加的方法返回的都是數(shù)組改變后的長度。

4.反序數(shù)組

reverse():將數(shù)組內(nèi)容逆序。

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

5.將數(shù)組內(nèi)容組成一個有特定分隔符的字符串

join(seperator):將數(shù)組內(nèi)容組成一個字符串,內(nèi)容以seperator分隔

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

6.合并兩個數(shù)組

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

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.數(shù)組排序

sort():默認(rèn)將數(shù)組進(jìn)行數(shù)字或字母進(jìn)行升序排序,但也可以自定義降序排序

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.截取子數(shù)組

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

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.判斷給定數(shù)據(jù)在數(shù)組中的位置

indexOf(data):該方法返回data在該數(shù)組中所在的第一個元素位置,如果沒有找到就返回-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.迭代器

數(shù)組的迭代器方法很多。

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

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

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

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

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI