concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組
例
var arr1 = [1,2];
var arr2 = [3,4];
var arr3 = [5,6];
var arr4 = arr1.concat(arr2,arr3);
console.log(arr4);
slice() 方法可提取字符串或者數(shù)組的某個(gè)部分,并以新的字符串或數(shù)組返回被提取的部分 **slice(start,end)
例
var arr = [2,3,5,9,6];
var arr1 = arr.slice(1);//下標(biāo)為1的后面的
console.log(arr1);//3,5,9,6
splice() 方法用于插入、刪除或替換數(shù)組的元素
***splice中的刪除功能:返回被刪除數(shù)組元素
var arr = [2,3,5,9,6];
var fn = arr.splice(0,4);//從下標(biāo)為0的元素開(kāi)始截取4個(gè)元素
console.log(fn);//返回被截取的值
console.log(arr);//返回原數(shù)組的值
splice中的插入功能:返回空數(shù)組
**var arr = [2,3,5,9,6];
var fn = arr.splice(1,0,4,7);//從下標(biāo)是1開(kāi)始插入4,7
console.log(fn);//返回空
console.log(arr);//返回插入后的數(shù)組
splice中的替換功能:返回被替換數(shù)組元素
var arr = [2,3,5,9,6];
var fn = arr.splice(2,2,4,7);//從下標(biāo)是2開(kāi)始截取2個(gè)元素替換成4,7
console.log(fn);//返回截取的5,9
console.log(arr);//返回替換后的數(shù)組
位置方法
***首次出現(xiàn)位置
indexOf():返回某個(gè)指定的字符串值或者某個(gè)數(shù)組元素值在字符串或者數(shù)組中首次出現(xiàn)的位置
indexOf(searchvalue,fromindex);
例
var arr = [1,2,1,2,1,2,1,2];
var fn = arr.indexOf(2,5);//從下標(biāo)5開(kāi)始找首次出現(xiàn)數(shù)值2的下標(biāo)
console.log(fn);//返回值為5
迭代方法
ES5為數(shù)組定義了5個(gè)迭代的方法。每個(gè)方法都接收兩個(gè)參數(shù):
1)要在每一項(xiàng)上運(yùn)行的函數(shù)
2)運(yùn)行該函數(shù)的作用域?qū)ο?-影響this的值(可選)。
運(yùn)行的函數(shù)會(huì)接受三個(gè)參數(shù):1)數(shù)組項(xiàng)的值 2)該項(xiàng)在數(shù)組中的位置 3)數(shù)組對(duì)象本身
every()對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對(duì)每一項(xiàng)都返回true,則返回true
例
var num = [1,2,3,4,5,4,3,2,1];
var newnum= num.every(function(item,index,array){
return (item > 2);
})
console.log(newnum); //false
some() 對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對(duì)任一項(xiàng)返回true,則返回true。
例
var sum = [1,2,3,4,5,4,3,2,1];
var newsum = sum.some(function(item,index,arry){
return item>2
})
console.log(newsum);//true
filter() 對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù),返回該函數(shù)會(huì)返回true的項(xiàng)組成的數(shù)組
例
var sum = [1,2,3,4,5,4,3,2,1];
var newsum = sum.filter(function(item,index,arry){
return item>2
})
console.log(newsum);//,3,4,5,4,3
map() 對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組
例
var sum = [1,2,3,4,5,4,3,2,1];
var newsum = sum.map(function(item,index,arry){
return item*2
})
console.log(newsum);//2, 4, 6, 8, 10, 8, 6, 4, 2
forEach()對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù),該方法沒(méi)有返回值
例
var sum = [1,2,3,4,5,4,3,2,1];
var newsum = sum.forEach(function(item,index,arry){
console.log(newsum);//代碼塊。沒(méi)有返回值,但可以打印
})
歸并方法
reduce() 是從數(shù)組的第一項(xiàng)開(kāi)始,逐個(gè)遍歷到最后。
·reduceRight() 是從數(shù)組的最后一項(xiàng)開(kāi)始,逐個(gè)遍歷到最前。
這兩個(gè)方法都會(huì)迭代數(shù)組的所有項(xiàng),然后構(gòu)建一個(gè)最終返回的值。
這兩個(gè)方法都接收兩個(gè)參數(shù):1)要在每一項(xiàng)上運(yùn)行的函數(shù) 2)作為歸并基礎(chǔ)的初始值(可選)。
傳給這兩個(gè)方法的函數(shù)接收4個(gè)參數(shù):1)前一個(gè)值 2)當(dāng)前值 3)項(xiàng)的索引 4)數(shù)組對(duì)象
var sum = [1,2,3,4,5,4,3,2,1];
var newsum = sum.reduce(function(prev,cur,index,array){
return prev+cur//1+2=3+3=6+4=10+5=15+4=19+3=22+2=24+1=25
})
console.log(newsum);//25