美文网首页
map、foreach、reduce、filters的用法及区别

map、foreach、reduce、filters的用法及区别

作者: 虹yc | 来源:发表于2020-03-03 22:21 被阅读0次

    1、map方法,用于映射数据,返回映射后的数据。如下方,将arr数组中的成绩映射为及格或者不及格(返回新数组)

          let arr = [73,23,54,89,99,30,23];

          //正常写法

          let arr1 = arr.map(function(item){

              return item>60?'及格':'不及格';

          });

          //简写,利用箭头函数

          let arr2 = arr.map((item) => {

            return item>60?'及格':'不及格';

          });

          //语法精简2(箭头函数的特性,参数有且只有一个)

          let arr3 = arr.map(item => item>60?'及格':'不及格');

    2、reduce方法,累加器,用于数据累加。如下方进行求和:

          let arr = [1,2,3,4,5];

          //普通写法

          let arr1 = arr.reduce(function(tem,item,index){ 

              //  参数  tem  代表两个数的结果,一开始代表数组的第一个元素,第二次则代表第一次return回来的值

              //  参数  item  一开始代表第二个数组元素,第二次则代表当期元素

              if(index == arr.length-1){

                  return (tem + item)/(index+1);

              }else{

                  return tem + item;

              }

          });

          //精简写法

          let arr2 = arr.reduce((tem,item,index) => {

              return index == arr.length-1?(tem + item)/(index+1):tem + item;

          );

    3、filter,用于过滤数据,当返回元素为true时,返回该元素。如下方,只保留数据中的奇数(返回新数组):

            let arr = [1,2,3,4,5,6,7];

            //普通写法

            let arr1 = arr.filter(function(item){

                return item %2 ==1?item:'';

                // return item %2 ==1?true:false;

            })

            //精简写法

            let arr2 = arr.filter(item =>item %2 ==1);

    4、forEach,遍历数据

            let arr = [1,2,3,4,5]

            arr.forEach((item,index,arr) => {

                    alert(item) ;//当前值

                    alert(index);//当前下标

                    alert(arr);  //当前数组

            })

    相关文章

      网友评论

          本文标题:map、foreach、reduce、filters的用法及区别

          本文链接:https://www.haomeiwen.com/subject/yswllhtx.html