我有这个对象:
key = {
spawn:{type:1,img:app.assets.get('assets/spawn.svg')},
wall:{type:2,img:app.assets.get('assets/wall.svg')},
grass:{type:3,img:app.assets.get('assets/grass.svg')},
spike:{type:4,img:app.assets.get('assets/spike.svg')},
ground:{type:5,img:app.assets.get('assets/ground.svg')}
};
我有一个只有类型的数组,我需要向其中添加给定的图像,该数组看起来像这样:
[{type:1,image:null},{type:3,image:null},{type:2,image:null},{type:2,image:null},{type:5,image:null}]
基本上我想循环数组,找到关键对象中的类型并获取给定的图像并将其保存到数组中。
有什么简单的方法可以做到这一点吗?
最佳答案
对我来说最突出的一件事是这条线
...get the given image and save it into the array
我假设这意味着原始数组。我认为更好的方法是将适当的键和值映射到一个新数组,但对于这个示例,我假设这是一项要求。
试图使解决方案尽可能简洁,并要求使用 lodash 解决方案:
_.each(key, function(prop){
_.each(_.filter(types, { type: prop.type }), function(type) { type.image = prop.img });
});
关于javascript - 您如何在对象中搜索属性中的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28483152/