您好,登錄后才能下訂單哦!
在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í)有所幫助,也希望大家多多支持億速云。
免責(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)容。