地圖

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