地图
.map
函数接受一个数组和一个 iteratee 函数,iteratee 生成每个数组对象的转换副本。
iteratee 函数提供 3 个参数
item
- 当前迭代的对象i
- 迭代对象的索引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']