美文网首页
Map @mpjme

Map @mpjme

作者: 6659a0f02826 | 来源:发表于2017-08-10 22:56 被阅读10次
    var animales = [
                    {name : 'fluffykins', species : 'rabbit'},
                    {name : 'caro', species : 'dog'},
                    {name : 'hamilton', species : 'dog'},
                    {name : 'harold', species : 'fish'},
                    {name : 'ursula', species : 'cat'},
                    {name : 'jimmy', species : 'fish'}
                ]
    // 需求:列出animale的name
    
    // 一、以下是for循环写法
    
    // var names =[];
    // for(var i=0; i< animales.length; i++){           
    //      names.push(animales[i].name )
    // }
    
    // 二、以下是Map的写法
    
    var names = animales.map(function(animale){
        return animale.name
    });
    //注:还可以return其他的任何想要的结果:return animale.name + ‘is’ + animale.species等
    
    
    //如果用箭头函数实现,又将节省一部分代码
    var names = animales.map((animale) =>  animale.name);
    
    //或者
    var names = animales.map((X) =>  X.name);
    
    
    console.log(names)
    
    
    • map简介

    对数组的每个元素调用定义的回调函数并返回包含结果的数组。

    • 语法

    array1.map(callbackfn[, thisArg])

    • 参数
    1. array1 必选。 一个数组对象。
    2. callbackfn 必选。 最多可以接受三个参数的函数。 对于数组中的每个元素,map 方法都会调用 callbackfn 函数一次。
    3. thisArg 可选。 callbackfn 函数中的 this 关键字可引用的对象。 如果省略 thisArg,则 undefined 将用作 this 值。
    • 返回值

    一个新数组,其中的每个元素均为关联的原始数组元素的回调函数返回值。

    备注:
    项目中,map 里面传递的函数中可以加载两个参数,一个是数组元素本身,第二个是 index 值。
    map 属于固定函数接口,网上文章应该很多。

    8a04ecda-537c-4e7e-89a1-540f5f17d67f.png

    就像上面那个框里的,items 和i ,这两个参数,items 没有实现不了,items和i 颠倒顺序也实现不了。

    相关文章

      网友评论

          本文标题:Map @mpjme

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