數(shù)組的簡單總結(jié)

定義數(shù)組:

  • 構(gòu)造函數(shù)
var arr1 = new Array(5);//長度為5的空數(shù)組
var arr2 = new Array(1,5);//[1,5]
  • 字面量
var arr1 = [];
var arr2 = [1,2,3,4];

數(shù)組的長度 arr.length

數(shù)組的方法:

  • 基本方法(添加,刪除,修改)
var arr = [1,2,3];
arr[3] = 4;//添加
arr;//[1,2,3,4]
delete a[0];//刪除
arr;//[undefined,2,3,4]
arr[1] = 5;//修改
arr;//[undefined,5,3,4]
  • 棧方法

  • pop()去掉數(shù)組中的最后一位元素,并返回該元素

var arr = [1,2,3,4];
arr.pop();//4
arr;//[1,2,3]
  • push(e)在數(shù)組的最后一位添加新元素,返回push后數(shù)組的長度
var arr = [1,2,3,4];
arr.push(5,6);//6
/*
arr[arr.length] = 5;
arr[arr.length] = 6;
*/
arr;//[1,2,3,4,5,6]
  • shift()去掉數(shù)組中的第一位元素,并返回該元素
var arr = [1,2,3,4];
arr.shift();//1
arr;//[2,3,4]
  • unshift(e)在數(shù)組的第一位添加新元素,返回unshift后數(shù)組的長度
var arr = [1,2,3,4];
arr.unshift(-1,0);//6
/*
arr[0] = 0;
arr[0] = -1;
*/
arr;//[-1,0,1,2,3,4]
  • splice(start,length,new)可以添加、刪除、任何位置

  • 刪除,返回被刪除的元素的數(shù)組

var arr = [1,2,3,4,5];
arr.splice(1,3);//[2,3,4]
arr;//[1,5]
  • 添加,返回被刪除的元素的數(shù)組
var arr = [1,2,3,4,5];
arr.splice(1,0,3);//[]
arr;//[1, 3, 2, 3, 4, 5]
  • join(s)把數(shù)組連成字符串,返回的是字符串。原數(shù)組不變
var arr = [1,2,3,4];
arr.join('-');//'1-2-3-4'
arr.join('');'1234'
  • slice(satrt,end)淺復(fù)制數(shù)組中的子片段,并返回;原數(shù)組不變
var arr = [1,2,3,4,5];
arr.slice(1,3);//[2,3]
arr;//[1,2,3,4,5]
  • concat(arr)拼接數(shù)組,返回新的數(shù)組
var arr1 = [1,2,3,4],
    arr2 = [5,6,7];
arr1.concat(arr2);//[1,2,3,4,5,6,7]
  • reverse()把一個(gè)數(shù)組逆序,并返回
var arr = [1,2,3];
arr.reverse();//[3,2,1]
arr;//[3,2,1]
  • sort()把數(shù)組按照字符串進(jìn)行排序
var arr = [1,2,31,100,256];
arr.sort();//[1,100,2,256,31]

可以重寫該方法

var arr = [1,2,31,100,256];
arr.sort(function(a,b){
    return a-b;//a-b>0,則調(diào)換
});

ES5中數(shù)組的拓展

  • Array.isArray(arr)判斷一個(gè)對象是不是數(shù)組
var arr = [];
Array.isArray(arr);//true;
/*
//滿足這兩點(diǎn)的,也一定是數(shù)組
typeof arr;//'object'
arr instanceof Array;//true
*/
  • indexOf(e) lastIndexOf(e)

  • indexOf(e)查找元素的位置,找不到返回-1

var arr = [1,2,3,3,2,1];
arr.indexOf(2);//1
  • lastIndexOf(e)反向開始查找
var arr = [1,2,3,3,2,1];
arr.lastIndexOf(2);//4
  • forEach(ele,index,array)用于遍歷數(shù)組(array是原數(shù)組本身)
var arr = [1,2,3,4,5];
arr.forEach(function(ele,index,array){
    array[index] = ele +1;
});
arr;//[2,3,4,5,6]
  • every(function(ele,index,array){}) some(function(ele,index,array){})
  • every(function(ele,index,array){})每個(gè)結(jié)果都滿足,返回true
var arr = [1,2,3,4,5];
arr.every(function(e,i,a){
   return e > 0;
});//true 
  • some(function(ele,index,array){})有滿足條件的,就返回true
var arr = [1,2,3,4,5];
arr.some(function(e,i,a){
    return e > 3;
});//true
  • map(function(ele){})遍歷數(shù)組,返回新數(shù)組
var arr = [1,2,3];
/*map基于原數(shù)組操作*/
arr.map(function(e){
    return e*e;
});//[1,4,9]
arr;//[1,2,3]
  • filter(function(e){})挑選出滿足條件的,返回新的數(shù)組
var arr = [1,2,3,4,5];
arr.filter(function(ele){
    return ele > 2;
});[3,4,5]
arr;//[1,2,3,4,5]
  • 返回?cái)?shù)組的:

  • splice(start,length,new)

  • slice(satrt,end)

  • concat(arr)

  • reverse()

  • sort()

  • 返回字符串的:

  • join(s)

  • 返回位置的:

  • indexOf(e)

  • lastIndexOf(e)

  • 遍歷數(shù)組

  • forEach(ele,index,array)

  • every(function(ele,index,array){}) some(function(ele,index,array){})

  • map(function(ele){})

  • filter(function(e){})

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容