從數(shù)組創(chuàng)建對(duì)象,使用函數(shù)將每個(gè)值映射到鍵。
使用Array.prototype.reduce()對(duì)數(shù)組 arr應(yīng)用于fn 函數(shù),使數(shù)組 arr 每個(gè)值以生成一個(gè)鍵并將鍵值對(duì)添加到對(duì)象。
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' } }
更多內(nèi)容請(qǐng)?jiān)L問我的網(wǎng)站:https://www.icoderoad.com