,只是将原来的数组拷贝了一份,把拷贝的数组项进行更改,支持链式调用
使用场景
场景1: 拷贝原数组,改变一些东西,假定有一个数组(A),将A数组中的值以双倍的数值放到B数组中
Es5写法
var numbersA..., 回调函数返回的结果一个boolean值,若结果为真,则返回匹配的项,若为假,则返回一个空数组,它不会改变原有数组,返回的是过滤后的新数组
写法
数组对象.filter(function(currentVal...,若结果为假,则返回undefined
?...,map,filter,find,方法都是不改变原有数组的,当然还有every,some等一些方法,forEach方法没有返回值,默认返回值为undefined,所以它不支持链式调用,而map,filter...方法会返回一个新的数组
find方法返回的根据迭代器函数结果boolean值,若结果为真则返回指定的元素,若无则返回undefined
而改变原有数组的有:增加(push,unshift),删除(pop