Map @mpjme

2017-08-10  本文已影响10人  6659a0f02826
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)

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

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 颠倒顺序也实现不了。

上一篇下一篇

猜你喜欢

热点阅读