2016-04-09 3 views
0

このオブジェクトの配列を、オブジェクトのIDがキーで値がオブジェクトのオブジェクトの新しい配列にマップするにはどうすればよいですか?idをキーとする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}} ] 

私はあなたがunderscore含めていなかったが、これは動作しますあなたのJSフィドルでまず第一に、上記Uncaught SyntaxError: Unexpected token .(…)

JSFiddle

答えて

1

をしようとして構文エラーを取得:

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

私はより良い方法を見つけようとしていましたが、私はこの方法で終了します。 –

0

ES6の機能を使ってうれしい場合は、計算されたプロパティ名を使用する矢印関数を使用できます:

var mapped = _.map(players, player => ({ [player.id] : player})); 
+0

投票の理由は何ですか?コメントのない匿名の投票は誰にも役立たず、問題がどこにあるかを知りたいので、それから学び、答えを修正することができます。 –

関連する問題