# 一. 实现 keyBy 函数

  1. 描述:创建一个对象组成, key(键) 是 collection(集合)中的每个元素经过 iteratee(迭代函数) 处理后返回的结果。 每个 key(键)对应的值是生成 key(键)的最后一个元素。iteratee(迭代函数)调用 1 个参数:(value)。
  2. 参数
  • collection (Array|Object): 用来迭代的集合。
  • [iteratee=_.identity](Array|Function|Object|string): 这个迭代函数用来转换 key。
  1. 返回
  • (Object): 返回一个组成聚合的对象。

# 二. 实现

function keyBy (list, by) {
  return list.reduce((acc, x) => {
    acc[by(x)] = x 
    return acc 
  }, {})
}
1
2
3
4
5
6