我有const menu = ['home', 'news', 'about'];我想将其映射到此:let menuExt = { home: Common.locs['home'], news: Common.locs['news'], about: Common.locs['about'] };我该怎么做?我试过 let menuExt = menu.map(item => { return { item: Common.locs[item] } });但我得到了一个以“item”为属性的数组,但我想要一个具有 home、news、about... 属性的对象(还有更多,但我在这里缩短了)
3 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
惯用的方法是使用Array.reduce,因为您正在获取对象数组并返回单个对象。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
const menu = ['home', 'news', 'about'];
const menuExt = menu.reduce((acc, key) => {
acc[key] = Common.locs[key];
return acc;
}, {});
噜噜哒
TA贡献1784条经验 获得超7个赞
我以这种方式管理,但我不知道是否有更干净、更快的解决方案:
let menuExt = {}
menu.forEach((item) => {
menuExt[item] = Common.locs[item]
});
添加回答
举报
0/150
提交
取消