chapter25——JS-ES6数组的新方法

131 阅读2分钟

ES6中数组的新方法

callback:回调
callbackfn:回调函数

forEach:

一直循环遍历数组,把每次循环到的值和索引作为回调函数的参数,并执行回调函数
arr.for((元素,索引,原数组)=>{
    console。log(index);
    //不能用breakcontinue
    //return 停止的是回调函数,不能停止foreach
})
没有返回值

map:

遍历数组,格式同forEach一样
区别:map把回调函数每次执行的返回值,封装进一个数组返回

filter:

遍历数组,格式同forEach一样
区别:回调函数返回值是true时,把当前遍历到的元素放进一个新数组中

some:

回调函数中只要有一次返回truesome的结果就是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