地图

.map 函数接受一个数组和一个 iteratee 函数,iteratee 生成每个数组对象的转换副本。

iteratee 函数提供 3 个参数

  1. item - 当前迭代的对象
  2. i - 迭代对象的索引
  3. list - 对原始数组/列表的引用

新数组的长度与旧数组的长度相同,但将保存已转换的对象

例:

_.map([1, 2, 3, 4], function(item, i, list) {
    return (item*item);
});
// [1, 4, 9, 16]

使用 ES6 编写上述示例的更简洁方法是

_.map([1, 2, 3, 4], (item, i, list) => {
    return (item*item);
});

或使用内联 lambda 表达式

_.map([1, 2, 3, 4], (item, i, list) => (item*item));

当你想要从对象中提取属性并创建它们的数组时,Map 也很有用

例:

let people = [{name: 'he-man', age: 22}, {name: 'man-at-arms', age: 44}];

_.map(people, function(item) {
    return item.name;
});
// ['he-man', 'man-at-arms']