【发布时间】:2018-05-13 00:41:41
【问题描述】:
我有 3 个对象具有相同的数据,但在数组内部具有单独的服务和提供 id,所以我试图得到预期的结果,如下所述和 please check my try here。提前致谢
对象 1:
const obj1 = {
bid : 1,
mobile : 9533703390,
services : [
{
service_id : 5,
offer_id : 10,
count : 1
}
]
}
对象2:
const obj2 = {
bid : 1,
mobile : 9524703390,
services : [
{
service_id : 8,
offer_id : 12,
count : 1
}
]
}
对象 3:
const obj3 = {
bid : 1,
mobile : 9524703390,
services : [
{
service_id : 5,
offer_id : 10,
count : 1
}
]
}
最终结果 - 每个对象都有单独的服务和报价,然后如果相同的报价和服务 ID 需要添加计数 + 1 否则返回数据
const result = {
bid : 1,
mobile : 9524703390,
services : [
{
service_id : 5,
offer_id : 10,
count : 2
},
{
service_id : 8,
offer_id : 12,
count : 1
}
]
}
【问题讨论】:
-
展开运算符并不神奇。它无法决定如何合并或何时需要递归。您需要对服务进行手动迭代才能正确合并它们。
-
你能提供一些例子吗?我是 java 脚本的新手,因为我正在尝试好的解决方案
-
检查我的答案。这是一个解决方案,但不确定它是否符合“好解决方案”的条件
标签: javascript object ecmascript-6 spread-syntax