JavaScript中的Array類型是經(jīng)常用到的,Array類型也提供了很多方法能實(shí)現(xiàn)我們需求,下面我們來總結(jié)一下
一、創(chuàng)建Array的方法
var colors=new Array();
var colors=new Array(3);//創(chuàng)建一個長度為3的數(shù)組
var colors=new Array("red","blue")//創(chuàng)建一個數(shù)組["red","blue"]
當(dāng)然,上面的new可以省略不寫,如 var colors=Array("red");
2、直接使用數(shù)組字面量
var colors=["red","blue","green"];
二、Array的方法1
var colors=["red","blue","green"];
1、獲取數(shù)組的長度 colors.length;//3
2、訪問數(shù)組第二項(xiàng)colors[1];//blue
3、更改數(shù)據(jù)的第二項(xiàng)colors[1]="black";//["red","black","green"]
4、檢查是否是一個數(shù)組 colors instanceof Array;//true
5、colors.toString();//默認(rèn)會以逗號隔開輸出字符串 red,blue,green
6、colors.join("|");//自定義以“|”隔開輸出字符串 red|blue|green
7、colors.push("brown")//往數(shù)組的尾部添加一項(xiàng)
8、colors.pop()//往數(shù)組的尾部刪除一項(xiàng)
9、colors.shift()//刪除數(shù)組的第一項(xiàng),并取得該值
10、colors.unshift("k1","k2")//往數(shù)組的前面插入這兩項(xiàng);["k1","k2","red","blue","green"];
11、colors.reverse()//翻轉(zhuǎn)數(shù)組的順序
12、colors.sort()或者colors.sort([func]);
13、concat() 返回一個新數(shù)組,不影響原數(shù)組 colors.concat()或者colors.concat("k1");
14、slice(begin,end)從數(shù)組下標(biāo)begin開始到end復(fù)制這個數(shù)據(jù),不包括下標(biāo)end,如果是slice(begin)那么就是從下標(biāo)begin開始到數(shù)組的尾部
15、splice
splice(0,2)//從下標(biāo)0開始刪除數(shù)組的兩項(xiàng)
splice(2,0,"k1","k2")從下標(biāo)2開始刪除0項(xiàng),緊接著從這里插入兩項(xiàng)
splice(2,1,"k1")//從下標(biāo)2開始刪除一項(xiàng),緊接著從這里插入一項(xiàng)
16、indexOf("item")//從數(shù)組頭開始查找某項(xiàng),找到后返回下標(biāo)值,找不到返回-1
17、lastIndexOf("item")//從數(shù)組尾開始查找某項(xiàng),找到后返回下標(biāo)值,找不到返回-1
三、Array方法2:迭代方法(ECMAScript5)
1、every():對數(shù)組的每一項(xiàng)運(yùn)行給定的函數(shù),每一項(xiàng)都返回true,則返回true(不影響原數(shù)組)
var numbers=[1,2,3,2,1];
//判斷是否每個數(shù)字都大于2
var flag=numbers.every(function (item,index,array) {
return item>2;
});
2、filter():對數(shù)組中每一項(xiàng)運(yùn)行給定的函數(shù),返回該函數(shù)為true的項(xiàng)(不影響原數(shù)組)
var numbers=[1,2,3,2,1];
//返回大于2的項(xiàng)
var array=numbers.filter(function (item,index,array) {
return item>2;
});
3、forEach():對數(shù)組中的每一項(xiàng)執(zhí)行給定的函數(shù),不返回值 (不影響原數(shù)組)
var numbers=[1,2,3,2,1];
//輸出每一項(xiàng)的平方
numbers.forEach(function (item,index,array) {
console.log(item*2);
});
4、map():對數(shù)組的每一項(xiàng)執(zhí)行給定的函數(shù),返回每次函數(shù)調(diào)用后結(jié)果組成的數(shù)組(不影響原數(shù)組)
var numbers=[1,2,3,2,1];
//返回每一項(xiàng)的平方
var array=numbers.map(function (item,index,array) {
return item*item;
});
5、some():對數(shù)組的每一項(xiàng)執(zhí)行給定的函數(shù),如果有一項(xiàng)返回true則,則返回true
var numbers=[1,2,3,2,1];
var flag=numbers.some(function (item,index,array) {
return item>2
});
三、Array方法3:歸并方法(ECMAScript5)
1、reduce()方法從數(shù)組的第一行開始,逐個遍歷到最后
2、reduceRight()方法從數(shù)組的最后一項(xiàng)開始,逐個向前遍歷
var numbers=[1,2,3,4,5];
var result=numbers.reduce(function (prev,cur,index,array) {
//prev:前一個運(yùn)算的結(jié)果,剛開始時候?yàn)閿?shù)字的第一項(xiàng)
//cur:數(shù)組的當(dāng)前項(xiàng)
//index:當(dāng)前數(shù)組的下標(biāo)
//array:執(zhí)行這個運(yùn)算的數(shù)組,當(dāng)前為numbers
console.log("prev:"+prev);
console.log("cur:"+cur);
console.log("index:"+index);
console.log("array:"+array);
console.log("=============");
return prev+cur;
});
以上這篇JavaScript 數(shù)組- Array的方法總結(jié)(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考