javascript - 下划线将对象数组映射到以 id 作为键的新对象

标签 javascript underscore.js

如何将此对象数组映射到一个新的对象数组,其中对象的 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 中你没有包含 underscore ,但这会起作用:

var mapped = _.map(players, function(player) {
  var playerObj = {};
  playerObj[player.id] = player;
  return playerObj;
})

关于javascript - 下划线将对象数组映射到以 id 作为键的新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36518809/

相关文章:

javascript - 嵌套 JSON 迭代,超出最大调用堆栈大小

javascript - Node.js - 使用 async.waterfall 进行依赖 API 请求调用,并使用 underscore.extend 合并 JSON 响应

javascript - 使用 _Underscore 从嵌套对象创建值数组

javascript - 跟踪 Dojo UI 事件

javascript - 如何获取json返回值

javascript - 从 Xpages 中的 "view"开始计算父文档

javascript - 如何使用 JQuery contains 获取精确字符串

javascript - 如何测试 React 组件是否已经从 switch 状态渲染?

javascript - Backbone 在 View 中加载 View (作为部分)

使用 underscore.js 的 Javascript 模板