美文网首页
箭头函数和JavaScript中map函数

箭头函数和JavaScript中map函数

作者: 愤怒的_菜鸟 | 来源:发表于2018-06-01 16:09 被阅读80次

    JavaScript的数组迭代器函数map和filter,可以遍历数组时产生新的数组,和python的map函数很类似
    1> filter是满足条件的留下,是对原数组的过滤;
    2> map则是对原数组的加工,映射成一一映射的新数组

     1 let arr = [1, 2, 3, 4];
     2 let newArr = arr.map(function(item) {  // 使用map方法
     3         return item * 2;
     4 });
     5 console.log(newArr);    // [2, 4, 6, 8]
     6 
     7 
     8 let arr = [1, 2, 3, 4];
     9 let newArr = arr.filter(function(item) {  // 使用filter方法
    10         if (item % 2 !== 0) {
    11             return item;
    12         } 
    13 });
    14 console.log(newArr);    // [1, 3];
    

    map()方法将调用的数组的每个元素传递给指定的函数,并返回一个数组,它包含该函数的返回值。
    传递给map()的函数的调用方式和传递给forEach()的函数的调用方式一样。但传递给map()的函数应该有返回值。注意:map()返回的是新数组:它不修改调用的数组。如果是稀疏数组,返回的也是相同方式的稀疏数组:它具有相同的长度,相同的缺失元素。
    在我们的例子中,回调函数只有一个参数,即数组中元素的值 (val 参数) ,但其实,你的回调函数也可以支持多个参数,譬如:元素的索引index、原始数组arr。
    使用 map 方法来为 oldArray 中的每一项增加3,并且在 newArray 中保存它们。 oldArray 不应该被改变。
    代码:

    var oldArray = [1,2,3,4,5]; 
    var newArray = oldArray.map(function(val){return val+3;});
    

    下面是工作用中箭头函数和map函数同时用到的,对表格的删除时用到的

    function delectCompete(){
                var s = $("#clientGrid").datagrid('getSelections');
                if(s == null || s == "") {
                    return $.messager.alert("提示", "请至少选择一行");
                }
                var roomIdArray = s.map(item=>item.roomId); 
                var roomIdStr = roomIdArray.toString(',');
                $.post("client!deleteRoomInfo.action",{
                        "roomIds":roomIdStr,
                    },
                    function(data){
                        data = JSON.parse(data);
                        $.messager.alert("提示", data.message);
                        $("#clientGrid").datagrid("reload");
                    }           
                )           
            }
    

    相关文章

      网友评论

          本文标题:箭头函数和JavaScript中map函数

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