2016-03-21 10 views
0

イメージの配列(IDのみ)を持つオブジェクトがあります。lodashを使用してオブジェクトを別のオブジェクトに拡張します。

var listOfImages = { 
     "number-items": 30, 
     "pageCount": 0, 
     "ids": { 
     0: "image1", 
     1: "image2" 
     } 
    }; 

私はまた、画像のコレクションがあります。

var images = { 
     "image1": { 
     "author": "Marc", 
     "size": "40kb" 
     }, 
     "image2": { 
     "author": "Anthony", 
     "size": "60kb" 
     }, 
     "image3": { 
     "author": "Anthony", 
     "size": "60kb" 
     } 
    }; image2, 
    ] 

を私はこのような何かを持つそれらすべてを組み合わせるしたいと思います:

var extendedListOfImages = { 
    "number-items": 30, 
    "pageCount": 0, 
    "ids": { 
    0: {"id": "image1", "author": "Marc", "size": "40kb"}, 
    1: {"id": "image2", "author": "Anthony", "size": "60kb"} 
    } 
}; 

これは私のコードです: https://jsbin.com/pamofudisa/edit?html,js,console,output

答えて

0

ロダシュの新機能ですので、可能であれば、より良いソリューションをお試しいただければ幸いです。今 私のソリューション:jsbinで

var listOfImages = { 
    "number-items": 30, 
    "pageCount": 0, 
    "ids": { 
    0: "image1", 
    1: "image2" 
    } 
}; 
var images = { 
    "image1": { 
    "author": "Marc", 
    "size": "40kb" 
    }, 
    "image2": { 
    "author": "Anthony", 
    "size": "60kb" 
    }, 
    "image3": { 
    "author": "Anthony", 
    "size": "60kb" 
    } 
}; 

myIds = _.keyBy(listOfImages.ids); 
_.map(myIds, function(key, value){ 
    myIds[key]= images[key]; 
}); 
listOfImages.ids=myIds; 
console.log(listOfImages); 

コード: https://jsbin.com/qesuyewuza/1/edit?html,js,console,output

関連する問題