ES6中数组的新方法
callback:回调
callbackfn:回调函数
forEach:
一直循环遍历数组,把每次循环到的值和索引作为回调函数的参数,并执行回调函数
arr.for((元素,索引,原数组)=>{
console。log(index);
//不能用break和continue
//return 停止的是回调函数,不能停止foreach
})
没有返回值
map:
遍历数组,格式同forEach一样
区别:map把回调函数每次执行的返回值,封装进一个数组返回
filter:
遍历数组,格式同forEach一样
区别:回调函数返回值是true时,把当前遍历到的元素放进一个新数组中
some:
回调函数中只要有一次返回true,some的结果就是true
一旦遇到return true,则some停止执行并返回
every:
所有回调都返回true时,结果才是true,只要有一个false就是false
reduce:
迭代,把回调函数的返回值作为下一次回调的第0个参数,最后一次回调的返回值作为最终结果
如果不给pre默认值,则默认值pre为数组第0个数据,当前遍历到的值为第1个
代码例子:
数组名.reduce((前一次回调的结果pre,当前循环的值element,当前循环到的索引index)=>{
},pre的默认值)
indexOf:
存在,取到索引值,不存在返回-1
inclues(element):
判断元素在新数组中是否存在,返回true/false
find:
arr.find(callback) 查找元素在数组中是否存在,如果存在返回element,不存在返回undefined
传回调:
只要有一个回调函数返回true,则返回对应的element,否则返回undefined;
和some类似,some返回boolean,find返回element
findIndex(callback):
和find类似,返回的是索引,如果不存在返回-1