JavaScript函数式编程-高阶函数map(二)

概述
map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组,map 不修改调用它的原数组本身

语法

array.map(callback[, thisArg])

注意
使用 map 方法处理数组时,数组元素的范围是在 callback 方法第一次调用之前就已经确定了。在 map 方法执行的过程中:原数组中新增加的元素将不会被 callback 访问到;若已经存在的元素被改变或删除了,则它们的传递到 callback 的值是 map 方法遍历到它们的那一时刻的值;而被删除的元素将不会被访问到。

var animals = [
    {name: 'Fluffykins', species: 'rabbit'},
    {name: 'Caro', species: 'dog'},
    {name: 'Hamilton', species: 'dog'},
    {name: 'Harold', species: 'fish'},
    {name: 'Ursula', species: 'cat'},
    {name: 'Jimmy', species: 'fish'}
];

// 提取出animals中的全部name
// 使用for循环编写
var names = [];
for(var i = 0; i < animals.length; i++) {
    names.push(animals[i].name);
}

// 使用map重写
var names = animals.map(function(animal){
    return animal.name;
});

// 使用es6重写
var names = animals.map((animal) => animal.name);

console.log(names);
// 输出如下:
// [ 'Fluffykins', 'Caro', 'Hamilton', 'Harold', 'Ursula', 'Jimmy' ]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Javascript有很多数组的方法,有的人有W3C的API,还可以去MDN上去找,但是我觉得API上说的不全,M...
    顽皮的雪狐七七阅读 9,761评论 0 6
  • 创建数组 arr.length--- title: js正则表达式categories: javascriptda...
    angelwgh阅读 5,225评论 0 2
  • filter() filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。 语法 参数 ...
    Dl_毛良伟阅读 3,043评论 5 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,124评论 19 139
  • 百花诗 95 油桐花 情窦初开梦落花,雪飞五月满山涯。 麦粑桐叶香犹在,慈母恩情不复加。
    PikeTalk阅读 3,247评论 0 0

友情链接更多精彩内容