碎片时间学编程「80]:基于函数的索引数组

从数组创建对象,使用函数将每个值映射到键。

使用Array.prototype.reduce()对数组 arr应用于fn 函数,使数组 arr 每个值以生成一个键并将键值对添加到对象。

const indexBy = (arr, fn) =>

  arr.reduce((obj, v, i) => {

    obj[fn(v, i, arr)] = v;

    return obj;

  }, {});

示例

indexBy([

  { id: 10, name: 'apple' },

  { id: 20, name: 'orange' }

], x => x.id);

// { '10': { id: 10, name: 'apple' }, '20': { id: 20, name: 'orange' } }

更多内容请访问我的网站:https://www.icoderoad.com

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容