map,filter和slice返回一个新数组,find返回一个元素,而reduce返回一个减小的值,且这些都不会改变原数组。
1).map() 是对数组的每个元素都遍历一次,同时返回一个新的数组,返回数组的长度和原始数组长度一致。
2).filter() 是创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
3).find() 返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回 undefined。
4).reduce() 可以直观的返回数组里面指定的一个值或者对象
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
function(total,currentValue, index,arr) 必需。用于执行每个数组元素的函数。
total 必需。初始值, 或者计算结束后的返回值。
currentValue 必需。当前元素
currentIndex 可选。当前元素的索引
arr 可选。当前元素所属的数组对象。
initialValue 可选。传递给函数的初始值
如果没有在这定义初始值,那么初始值将变成数组中的第一项,而 currentVal 将从数组的第二项开始。
5)slice(start,end)用于截取
start:开始位置的索引 end:结束位置的索引(但不包含该索引位置的元素),如果没有第二个参数,默认截取到最后一位。
6)splice具有删除,插入,替换的功能
1:删除的功能
splice(index,count) index:开始位置的索引 count:要删除元素的个数 返回:包含被删除元素的数组对象
2:插入功能
splice(index,0,插入的项) index:插入元素的索引值,返回:[]
3:替换功能
splice(index,num,value) index:开始的索引位置
num:删除项的数(如果num为0,就是插入功能)
value:插入的值 返回:包含被删除的元素的数组对象