Undercore将对象的数组映射到以id为键的新对象
Underscore map array of object to new object with id as key
如何将此对象数组映射到一个新的对象数组,其中对象的id是键,其值是对象?
var players = [{id: 2, score: 5}, {id: 3, score: 10}]
var mapped = _.map(players, function(x) { return {x.id: x}})
// desired output = [{2: {id: 2, score: 4}, {3: {id: 3, score: 10}} ]
我在尝试上面的Uncaught SyntaxError: Unexpected token .(…)
时遇到语法错误
JSFiddle
首先,在JS Fiddle中没有包含下划线,但这会起作用:
var mapped = _.map(players, function(player) {
var playerObj = {};
playerObj[player.id] = player;
return playerObj;
})
如果您对使用ES6功能感到满意,那么您可以使用一个箭头函数,该函数使用计算的属性名称:
var mapped = _.map(players, player => ({ [player.id] : player}));
相关文章:
- 查找关键字并创建新对象
- 创建新对象时,为什么要更新旧对象
- 为什么要使用立即调用的函数来创建新对象
- 剑道网格-插入具有外部列的新对象失败
- 将原型调用为新对象中的另一个原型
- 将新对象添加到本地存储
- $$hashKey在Angular中push()新对象时未生成新值
- 从分析类传递现有对象,否则创建一个新对象
- 为什么这个功能打印“;未定义的未定义的“;作为联系人名称,添加“新对象”
- Will my'新对象'在套接字断开连接时被垃圾收集
- 从数组javascript创建新对象
- 为新对象添加函数,将对象添加到数组中.理解困难'这'关键字
- 在for循环-Javascript中创建新对象
- Javascript:使用一个预先存在的对象值作为一个新对象的键
- 确定是创建新对象还是更新现有对象
- 返回它在Javascript中构建的新对象
- 如何使用Typescript创建一个包含对象的字段的新对象
- Sinon:存根和整个对象,并将其替换为新对象
- JavaScript:创建新对象类型的方法
- 将新对象“附加”到 ng 重复项