collection/map.jsjavascript
import { entries, toIteratee } from '../_internal/iteratee'

/**
 * 将转换函数应用于集合的每个元素。
 * @function map
 * @memberof module:collection
 * @param {Array|Object} collection 要遍历的集合
 * @param {Function|string|number|Array|Object} [iteratee] 转换函数或简写
 * @returns {Array} 转换结果数组
 * @throws {TypeError} 集合或 iteratee 类型不正确时抛出
 */
function map(collection, iteratee) {
  const fn = toIteratee(iteratee)
  return entries(collection).map(([key, value]) => fn(value, key, collection))
}

export default map