我正在使用 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 属性大批。显然我可以创建一个循环和嵌套循环来找到匹配项并设置属性值,但我对重构/ Eloquent 解决方案更感兴趣。我想知道是否有内置于 typescript/"new"JS 风格甚至 lodash 中的东西可以让我得到我想要的东西。
最佳答案
您可以使用 lodash merge !
var items = [
{
"id": 1,
"qty": undefined
},
{
"id": 2,
"qty": undefined
},
{
"id": 3,
"qty": undefined
}
];
var itemsWithQuantities = [
{
"id": 1,
"qty": 55
},
{
"id": 2,
"qty": 3
},
{
"id": 3,
"qty": 24
}
];
var answer = _.merge(itemsWithQuantities, items);
console.log(answer);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.5.1/lodash.min.js"></script>
关于javascript - 从两个数组之间的匹配对象复制属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43809121/