天天看點

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]
           

繼續閱讀