1.join()
將數(shù)組轉(zhuǎn)換成字符串,括號里面默認(rèn)為逗號
2.push()和pop()
push():在數(shù)組末尾添加元素,返回修改后的長度
pop():移除數(shù)組末尾最后一項,并返回移除的那個值
3.shift()和unshift()
shift():刪除數(shù)組的第一項晓褪,并返回刪除元素的值征椒,如果數(shù)組為空返回undefined
unshift():將元素添加到數(shù)組開頭,并返回數(shù)組的長度
4.sort()
sort():將數(shù)組里面的項從小到大排序
sort()方法比較的是字符串,沒有按照數(shù)值的大小對數(shù)字進行排序,所以得使用一個排序函數(shù)
5.reverse()
reverse():翻轉(zhuǎn)數(shù)組
6.concat()
concat():將參數(shù)添加到原數(shù)組中。這個方法會先創(chuàng)建當(dāng)前數(shù)組的一個副本,然后將接收到的參數(shù)添加到這個副本的末尾,最后返回新構(gòu)建的數(shù)組威创。在沒有給concat()方法傳遞參數(shù)的 情況下,它只是復(fù)制當(dāng)前數(shù)組并返回副本落午。
7.slice()
slice():返回從原數(shù)組中指定開始下標(biāo)到結(jié)束下標(biāo)之間組成的新數(shù)組。slice()方法可以接受一或兩個參數(shù),即要返回項的起始和結(jié)束位置肚豺。在只有一個參數(shù)的情況下溃斋, slice()方法返回從該參數(shù)指定位置開始到當(dāng)前數(shù)組末尾的所有項。如果有兩個參數(shù)吸申,該方法返回起始和結(jié)束位置之間的項——但不包括結(jié)束位置的項梗劫。
8.splice()
splice():刪除,插入,替換
刪除:指定 2 個參數(shù):要刪除的第一項的位置和要刪除的項數(shù)。
書寫格式:arr.splice( 1 , 3 )
插入:可以向指定位置插入任意數(shù)量的項呛谜,只需提供 3 個參數(shù):起始位置、 0(要刪除的項數(shù))和要插入的項枪萄。
書寫格式:arr.splice( 2,0,4,6 )
替換:可以向指定位置插入任意數(shù)量的項隐岛,且同時刪除任意數(shù)量的項,只需指定 3 個參數(shù):起始位置瓷翻、要刪除的項數(shù)和要插入的任意數(shù)量的項聚凹。插入的項數(shù)不必與刪除的項數(shù)相等。
書寫格式:arr.splice( 2,0,4,6 )
9.indexOf()和lastIndexOf()
indexOf()方法從數(shù)組的開頭(位置為0)開始向后查詢齐帚。indexOf()方法返回指定數(shù)組項在數(shù)組中查找到的第一索引值(下標(biāo)).如果查找的數(shù)組項在數(shù)組中不存在,那么返回的值會是-1.
lastIndexOf()
與indexOf()剛好相反,從一個數(shù)組中末尾向前查找數(shù)組項,并返回數(shù)組項在數(shù)組中的索引值妒牙。不存在,返回-1.
10.forEach()
forEach():對數(shù)組進行遍歷循環(huán)对妄,對數(shù)組中的每一項運行給定函數(shù)湘今。這個方法沒有返回值。參數(shù)都是function類型剪菱,默認(rèn)有傳參摩瞎,參數(shù)分別為:遍歷的數(shù)組內(nèi)容;第對應(yīng)的數(shù)組索引孝常,數(shù)組本身旗们。
var arr = [1,2,3,4]; var sum =0;
arr.forEach(function(value,index,array){
array[index] == value; //結(jié)果為true
sum+=value;
});
console.log(sum); //結(jié)果為 10
11.map()
map():對數(shù)組中的每一項運行給定函數(shù),返回每次調(diào)用的結(jié)果組成的數(shù)組
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.map(function(item){
return item*item;
});
console.log(arr2); //[1, 4, 9, 16, 25]
12.filter()
filter():過濾功能,數(shù)組中的每一項運行給定函數(shù),返回滿足過濾體條件組成的數(shù)組构灸。
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var arr2 = arr.filter(function(x, index) {
return index % 3 === 0 || x >= 8; //index%3:index與3的余數(shù)
});
console.log(arr2); //[1, 4, 7, 8, 9, 10]
13.every()
every():判斷數(shù)組中每一項都是否滿足條件上渴,只有所有項都滿足條件,才會返回true
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.every(function(x) {
return x < 10;
});
console.log(arr2); //true
var arr3 = arr.every(function(x) {
return x < 3;
});
console.log(arr3); // false
14.some()
some():判斷數(shù)組中是否存在滿足條件的項喜颁,只要有一項滿足條件稠氮,就會返回true
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.some(function(x) {
return x < 3;
});
console.log(arr2); //true
var arr3 = arr.some(function(x) {
return x < 1;
});
console.log(arr3); // false
15.reduce()和reduceRight()
這兩個方法都會實現(xiàn)迭代數(shù)組的所有項,然后構(gòu)建一個最終返回的值半开。reduce()方法從數(shù)組的第一項開始括袒,逐個遍歷到最后。而 reduceRight()則從數(shù)組的最后一項開始稿茉,向前遍歷到第一項锹锰。
這兩個方法都接收兩個參數(shù):一個在每一項上調(diào)用的函數(shù)和(可選的)作為歸并基礎(chǔ)的初始值芥炭。
傳給 reduce()和 reduceRight()的函數(shù)接收 4 個參數(shù):前一個值、當(dāng)前值恃慧、項的索引和數(shù)組對象园蝠。這個函數(shù)返回的任何值都會作為第一個參數(shù)自動傳給下一項。第一次迭代發(fā)生在數(shù)組的第二項上痢士,因此第一個參數(shù)是數(shù)組的第一項彪薛,第二個參數(shù)就是數(shù)組的第二項。
var values = [1,2,3,4,5];
var sum = values.reduceRight(function(prev, cur, index, array){
return prev + cur;
},10); //初始值為10
console.log(sum); //25