javascript - 您如何在对象中搜索属性中的属性?

标签 javascript arrays object search

我有这个对象:

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/

相关文章:

java - 用于比较 Java 和 C# 之间具有相同结构的对象的哈希码

javascript - onchange 后不会触发 onclick 事件

javascript - jQuery 事件在附加后不起作用

javascript - 您将如何以最简单和最简单的方式将对象按字母顺序排列 (Javascript)

c - 使用指针 C 将二维数组传递给函数

javascript - 使用 querySelectorAll 后无法将元素推送到数组

php - 数组值字符串编辑和循环与其他数组和循环相结合

javascript - 如何在 JavaScript 中使用数组和对象输入编写最快的选择函数?

javascript - Javascript 中没有时间戳的日期和时间

javascript - 将对象转换为带下划线的数组