map
最后更新于:2022-04-02 00:00:08
## map
+ [link](./map "Link to this entry.")
+ [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L7900 "View in source.")
+ [npm](https://www.npmjs.com/package/lodash.map "See the npm package.")
```
_.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']
```
';