2020-07-31
描述
创建一个对象,他的值为原有对象的每一个值经过提供函数运行后的结果,但键还是原有提供对象的键。
提示
- 使用
Object.keys()
迭代对象的键 - 使用
Array.prototype.reduce()
创建一个新的对象,使其有着相同的键和经过fn
映射的值
代码
const mapValues = (obj, fn) =>
Object.keys(obj).reduce((acc, k) => {
acc[k] = fn(obj[k], k, obj);
return acc;
}, {});
示例
请对值进行批量相同的操作:
const users = {
fred: { user: 'fred', age: 40 },
pebbles: { user: 'pebbles', age: 1 }
};
mapValues(users, u => u.age); // {fred: 40, pebbles: 1}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于