push():返回修改后数组的长度;改变原数组
pop():返回删除项;改变原数组
shift():返回删除项;改变原数组
unshift():返回数组长度;改变原数组
--------------------------
sort():字符串正序排序;改变原数组(sort可以接收一个比较函数作为参数,如果顺序不变,返回负数不改变顺序,返回正数改变顺序,两个数相等返回0)
例:
function(num1,num2){
if(num1<num2){
return -1;
}else if(num1>num2){
return 1;
}else{
return 0;
}
}
reverse():字符串倒序排序;改变原数组
---------------------------
concat():连接数组 不改变原数组
slice():截取数组中某一段,如果一个参数表示截取到尾部,两个参数左闭右开【),如果参数为负数,则加上数组长度再运算;如果结束位置小于开始位置,返回空数组。 不改变原数组
splice():删除、插入、替换。第一个参数:起始位置;第二个参数:删除的项数;之后的参数:要插入的项 改变原数组 返回的是一个数组,包含删除的项
例如:删除:arr.splice(1,2); 从第一个位置开始删除两项
插入:arr.splice(1,0,2,3); 从第一个位置开始不删除,插入两项
替换:arr.splice(1,1,3,4,); 从第一个位置开始删除一项,并添加两项
-----------------------------------------
以下两个方法,找出出现的位置,支持传入两个参数:第一个是要查找的内容,第二个是开始查找的位置(包括该位置)
indexOf():从前向后查找位置,返回第一次出现的位置 不改变原数组
lastIndexOf():从后向前查找位置,返回第一次出现的位置 不改变原数组
------------------------------------------
以下几个方法,都有两个参数,第一个参数,是要在每一项上运行的函数(这个方法里第一个参数是item,第二个参数是index,第三个参数是array),第二项是运行该函数的作用域对象——影响this的值(可选)
every():对数组中的每一项运行指定函数,如果每一项都为true,则返回true。不改变原数组
some():对数组中的每一项运行指定函数,如果存在一项为true,则返回true。不改变原数组
filter():对数组中的每一项运行指定函数,返回的是一个数组,由符合条件的值组成。不改变原数组
forEach():对数组的每一项执行一个方法,没有返回值。一般不改变原数组,但是可以通过index改变
map():对数组的每一项执行一个方法,返回每次函数调用的结果组成的数组。一般不改变原数组,但是可以通过index改变
----------------------------------
以下两个方法被称为归并方法,第一个参数是每一项上调用的方法,第二个参数是可选的,是归并基础的初始值
reduce():reduce函数的返回结果类型和传入的初始值相同!可以是num也可以是对象
reduceRight():从右遍历