いくつかのデータをグループ化してマップする(私はそれを行う最良の方法は間違っているかもしれないと考えている)配列に次のJSFiddleを作成しました。グループ化し、lodashを使用して配列にデータをマッピングする
JSFiddleは、所望の結果に加えて、私のコメントアウト方法のいくつかを示しています。
私のコードは、以下である:
var answers = [
{ 'question_id': 1, 'id': 1, 'answer': 'Cat' },
{ 'question_id': 1, 'id': 2, 'answer': 'Dog' },
{ 'question_id': 2, 'id': 3, 'answer': 'Fish' },
{ 'question_id': 2, 'id': 4, 'answer': 'Ant' }
];
var result=_.chain(answers).groupBy("question_id").map(function(v, i) {
return {
question_id: i,
// id: _.get(_.find(v, 'id'), 'id'),
answers:[
{id: 1, answer: 'Cat'},
{id: 2, answer: 'Dog'},
// {id: _.map(v, 'id'), answer: _.map(v, 'answer'),}
]
}
}).value();
document.body.innerHTML = '<pre>' + JSON.stringify(result, null, ' ') + '</pre>';