map

_.map(collection, [iteratee=_.identity])

创建一个经过 iteratee 处理的集合中每一个元素的结果数组。 iteratee 会传入3个参数:(value, index|key, collection)。

有许多 lodash 的方法以 iteratees 的身份守护其工作,例如: _.every, _.filter, _.map, _.mapValues, _.reject, 以及 _.some

被守护的有: ary, curry, curryRight, drop, dropRight, every, fill, invert, parseInt, random, range, rangeRight, slice, some, sortBy, take, takeRight, template, trim, trimEnd, trimStart, 以及 words

参数

  1. collection (Array|Object)

    需要遍历的集合

  2. [iteratee=_.identity] (Function|Object|string)

    这个函数会处理每一个元素

返回值 (Array)

返回映射后的新数组

示例

function square(n) {
  return n * n;
}

_.map([4, 8], square);
// => [16, 64]

_.map({ 'a': 4, 'b': 8 }, square);
// => [16, 64] (无法保证遍历的顺序)

var users = [
  { 'user': 'barney' },
  { 'user': 'fred' }
];

// 使用了 `_.property` 的回调结果
_.map(users, 'user');
// => ['barney', 'fred']