foreach、map、reduce、filter

    科技2026-06-20  12

    foreach 它是操作数组的一种方法,主要功能是遍历数组

    arr.foreach((value,index,arr) => {}) //value:遍历的数组内容;index:对应的数组索引;arr:数字本身

    map 它一般在遍历出的数据需要处理时使用。map()返回的是一个新数组,数组里的内容是原始数 据内容调用函数处理后的数据(按照原始数据依次处理数据)。map()不会对空数组进行检测,且不 改变原数组

    arr.map((value,index,arr) = >{ //处理 })

    reduce 它接受一个函数作为累加器,返回值为累加的结果。reduce不会对空数组调用回调函数,会 报错;但是当设置initialValue时,则不会报错,一般提供这个值会更安全

    arr.reduce((prev,cur,index,arr) => { }, initialValue) //prev:上一次调用回调返回的值,或者提供的初始值 //cur:数组中当前被处理的对象 //index:当前被处理的对象的索引 //arr:数组本身 //initialVal作为调用回调函数的第一个参数。当这个值不存在的时候,调用开始的索引为1;若它存在,调用开始的索引为0。

    filter 用fiter()函数来迭代一个数组,按照给定的条件过滤出符合的元素。filter()把回调函数依次作用 于每个元素,然后根据返回值是true还是false来决定元素的去留,它不会改变原始数组。

    arr.filter((value,index,arr) =>{ //处理 })

    foreach和map的区别 相同点: 1.都是循环遍历数组的每一项 2.每次执行匿名函数的参数都是一样的 3.匿名函数中的this都是指向window的 4.只能遍历数组 不同点 1.map()返回的是一个新数组,数组里的内容是原始数据内容调用函数处理后的数据 2.map()不会对空数组进行检测,foreach()对于空数组时不会调用回调函数的 3.foreach()无返回值;map()有返回值,可用return返回;

    filter和map的区别 相同点: 1.都不改变原数组 不同点: 1.filter()对数组中的元素进行过滤,产生一个新的数组 2.map()对数组中的元素进行加工处理,产生一个新的数组

    Processed: 0.008, SQL: 10