concat() 方法用于连接两个或多个数组
例
var arr1 = [1,2];
var arr2 = [3,4];
var arr3 = [5,6];
var arr4 = arr1.concat(arr2,arr3);
console.log(arr4);
slice() 方法可提取字符串或者数组的某个部分,并以新的字符串或数组返回被提取的部分 **slice(start,end)
例
var arr = [2,3,5,9,6];
var arr1 = arr.slice(1);//下标为1的后面的
console.log(arr1);//3,5,9,6
splice() 方法用于插入、删除或替换数组的元素
***splice中的删除功能:返回被删除数组元素
var arr = [2,3,5,9,6];
var fn = arr.splice(0,4);//从下标为0的元素开始截取4个元素
console.log(fn);//返回被截取的值
console.log(arr);//返回原数组的值
splice中的插入功能:返回空数组
**var arr = [2,3,5,9,6];
var fn = arr.splice(1,0,4,7);//从下标是1开始插入4,7
console.log(fn);//返回空
console.log(arr);//返回插入后的数组
splice中的替换功能:返回被替换数组元素
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);//返回替换后的数组
位置方法
***首次出现位置
indexOf():返回某个指定的字符串值或者某个数组元素值在字符串或者数组中首次出现的位置
indexOf(searchvalue,fromindex);
例
var arr = [1,2,1,2,1,2,1,2];
var fn = arr.indexOf(2,5);//从下标5开始找首次出现数值2的下标
console.log(fn);//返回值为5
迭代方法
ES5为数组定义了5个迭代的方法。每个方法都接收两个参数:
1)要在每一项上运行的函数
2)运行该函数的作用域对象--影响this的值(可选)。
运行的函数会接受三个参数:1)数组项的值 2)该项在数组中的位置 3)数组对象本身
every()对数组的每一项运行给定函数,如果该函数对每一项都返回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() 对数组的每一项运行给定函数,如果该函数对任一项返回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() 对数组的每一项运行给定函数,返回该函数会返回true的项组成的数组
例
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() 对数组的每一项运行给定函数,返回每次函数调用的结果组成的数组
例
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()对数组的每一项运行给定函数,该方法没有返回值
例
var sum = [1,2,3,4,5,4,3,2,1];
var newsum = sum.forEach(function(item,index,arry){
console.log(newsum);//代码块。没有返回值,但可以打印
})
归并方法
reduce() 是从数组的第一项开始,逐个遍历到最后。
·reduceRight() 是从数组的最后一项开始,逐个遍历到最前。
这两个方法都会迭代数组的所有项,然后构建一个最终返回的值。
这两个方法都接收两个参数:1)要在每一项上运行的函数 2)作为归并基础的初始值(可选)。
传给这两个方法的函数接收4个参数:1)前一个值 2)当前值 3)项的索引 4)数组对象
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