concat() 方法用于連接兩個或多個數(shù)組
例
var arr1 = [1,2];
var arr2 = [3,4];
var arr3 = [5,6];
var arr4 = arr1.concat(arr2,arr3);
console.log(arr4);
slice() 方法可提取字符串或者數(shù)組的某個部分,并以新的字符串或數(shù)組返回被提取的部分 **slice(start,end)
例
var arr = [2,3,5,9,6];
var arr1 = arr.slice(1);//下標為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);//從下標為0的元素開始截取4個元素
console.log(fn);//返回被截取的值
console.log(arr);//返回原數(shù)組的值
splice中的插入功能:返回空數(shù)組
**var arr = [2,3,5,9,6];
var fn = arr.splice(1,0,4,7);//從下標是1開始插入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);//從下標是2開始截取2個元素替換成4,7
console.log(fn);//返回截取的5,9
console.log(arr);//返回替換后的數(shù)組
位置方法
***首次出現(xiàn)位置
indexOf():返回某個指定的字符串值或者某個數(shù)組元素值在字符串或者數(shù)組中首次出現(xiàn)的位置
indexOf(searchvalue,fromindex);
例
var arr = [1,2,1,2,1,2,1,2];
var fn = arr.indexOf(2,5);//從下標5開始找首次出現(xiàn)數(shù)值2的下標
console.log(fn);//返回值為5
迭代方法
ES5為數(shù)組定義了5個迭代的方法。每個方法都接收兩個參數(shù):
1)要在每一項上運行的函數(shù)
2)運行該函數(shù)的作用域對象--影響this的值(可選)。
運行的函數(shù)會接受三個參數(shù):1)數(shù)組項的值 2)該項在數(shù)組中的位置 3)數(shù)組對象本身
every()對數(shù)組的每一項運行給定函數(shù),如果該函數(shù)對每一項都返回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() 對數(shù)組的每一項運行給定函數(shù),如果該函數(shù)對任一項返回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() 對數(shù)組的每一項運行給定函數(shù),返回該函數(shù)會返回true的項組成的數(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() 對數(shù)組的每一項運行給定函數(shù),返回每次函數(shù)調用的結果組成的數(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()對數(shù)組的每一項運行給定函數(shù),該方法沒有返回值
例
var sum = [1,2,3,4,5,4,3,2,1];
var newsum = sum.forEach(function(item,index,arry){
console.log(newsum);//代碼塊。沒有返回值,但可以打印
})
歸并方法
reduce() 是從數(shù)組的第一項開始,逐個遍歷到最后。
·reduceRight() 是從數(shù)組的最后一項開始,逐個遍歷到最前。
這兩個方法都會迭代數(shù)組的所有項,然后構建一個最終返回的值。
這兩個方法都接收兩個參數(shù):1)要在每一項上運行的函數(shù) 2)作為歸并基礎的初始值(可選)。
傳給這兩個方法的函數(shù)接收4個參數(shù):1)前一個值 2)當前值 3)項的索引 4)數(shù)組對象
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