我正在使用Angular 2/Typescript。从两个数组之间的匹配对象复制属性值
我有“项目”的数组:
items: [
{
"id": 1,
"qty" undefined
},
{
"id": 2,
"qty" undefined
}
{
"id": 3,
"qty" undefined
}...etc
]
然后,我有“ItemsWithQuantities”的数组:
itemsWithQuantities: [
{
"id": 1,
"qty" 55
},
{
"id": 2,
"qty" 3
} ...etc
]
我希望把数量值从itemsWithQuantities
阵列成在items
数组中匹配(由id
)对象的qty属性。很明显,我可以创建一个循环和嵌套循环来找到一个匹配并设置属性值,但我更感兴趣的是重构/雄辩的解决方案。我想知道是否有内置的打字稿/“新”JS风味,甚至lodash,可以得到我想要的。
如果数组进行排序,然后它是一个简单的迭代(如果不是,那么排序他们首先,你将无法获得更好的解决方案)。 –
为什么你不只是'items = itemsWithQuantities'? – Redu
@Redu我想这在技术上不是对实际问题的回答。但是,我一直认为这在架构上可能是更好的东西。 但直接回答你的问题...我的itemsWithQuantities对象不“看”完全一样的我的项目对象。只有一个ID和一个数量匹配。两个对象都具有其他对象上不存在的唯一属性。 (加上数组的长度将是不同的:'items.length == 230'而'itemsWithQuantities.length == 5')但是无论如何,我想我明白你在说什么 – JzInqXc9Dg