【发布时间】:2018-12-12 23:22:39
【问题描述】:
我正在寻找一种有效的方法来使用 Lodash 甚至 vanilla JS 替换多维对象中的值。
我有一个包含未知深度的多维对象的数组,例如(简化)
objects = [{
id: 1,
view: {
id: 7
}
}, {
id: 2,
view: {
id: 9
},
childs: [{
id: 3,
view: {
id: 3
}
}]
}];
现在我想用存储在单独对象中的命名导入引用替换每个节点的视图值。引用可以通过 view.id 作为这个对象的索引来访问。所以我想要实现的是这样的
views = {
3: some,
7: random,
9: imports
};
objects = [{
id: 1,
view: views[7]
}, {
...
}];
我知道如何迭代多维对象以手动实现这一点,但由于我正在处理大型对象,如果使用 Lodash 有一种更清洁、更高效的方式会很好。
有人有天才的解决方案吗?
【问题讨论】:
标签: javascript arrays json ecmascript-6 lodash