地圖
.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']