[{
"_id": "5987496838099514948b4a1c",
"availableServices": [{
"_id": "598750d238099514948b4a33",
"serviceType": {
"_id": "59874b3438099514948b4a20",
"uniqueIdentifier": "AC",
},
"serviceSubTypes": [{
"_id": "598750d238099514948b4a34",
"serviceSubType": {
"_id": "59874b5638099514948b4a21",
"displaySubTypeName": "DRY SERVICE",
"minimumServiceCost": "399",
"zonalMinimumServiceCost": [{
"_id": "59874b5638099514948b4a22",
"minimumServiceCost": "399",
"zone": "5987496838099514948b4a1c",
"providerPrice": [{
"_id": "59a3007ee8c1cb276c042e64",
"minimumServiceCost": "400",
"provider": "598752c6265bbd162009ef35"
}]
}, {
"_id": "599da2247910831a3c9b90aa",
"minimumServiceCost": "399",
"zone": "599da2247910831a3c9b90a8",
"providerPrice": []
}],
},
"providerAtServiceSubTypeLevel": [{
"companyName": "TEST2",
"calculatedMinServicePrice" : "0"
}, {
"companyName": "TEST1",
"calculatedMinServicePrice": "0"
}]
}, {
"_id": "598750d238099514948b4a35",
"serviceSubType": {
"_id": "59874b6738099514948b4a23",
"displaySubTypeName": "WET SERVICE",
"minimumServiceCost": "399",
"zonalMinimumServiceCost": [{
"_id": "59874b6738099514948b4a24",
"minimumServiceCost": "399",
"zone": "5987496838099514948b4a1c",
"providerPrice": [{
"_id": "59a3076ee8c1cb276c042e66",
"minimumServiceCost": "412",
"provider": "598752c6265bbd162009ef35"
}]
}, {
"_id": "599da2247910831a3c9b90ab",
"minimumServiceCost": "399",
"zone": "599da2247910831a3c9b90a8",
"providerPrice": []
}]
},
"providerAtServiceSubTypeLevel": [{
"_id": "598759c3232d9920884e103a",
"companyName": "TEST2",
"calculatedMinServicePrice" : "0"
}, {
"_id": "598752c6265bbd162009ef35",
"companyName": "TEST1",
"calculatedMinServicePrice" : "0"
}],
}]
}
}]
我的执行逻辑是:
一个。循环通过availableServices
湾查找每个服务子类型
℃。计算最高服务价格取决于minimumServiceCost,zonalMinimumServiceCost.minimumServiceCost和providerPrice.minimumServiceCost
d。 update providerAtServiceSubTypeLevel.calculatedMinServicePrice取决于上面计算的价格(如果providerPrice存在,那么将在更新期间考虑)
即这将继续用于所有可用的服务子类型
问题陈述
一个。在providerAtServiceSubTypeLevel.calculatedMinServicePrice的循环和更新期间,所有先前的元素都在更新 最后一个值
只是为了模仿这里的问题是代码
for(var a=0; a < zonedetails[0].availableServices.length; a++){
for(var b=0; b < zonedetails[0].availableServices[a].serviceSubTypes.length; b++){
for(var c=0; c < zonedetails[0].availableServices[a].serviceSubTypes[b].providerAtServiceSubTypeLevel.length; c++){
console.log(" a >> " + a + " b >> " + b + " c >> " + c);
zonedetails[0].availableServices[a].serviceSubTypes[b].providerAtServiceSubTypeLevel[c].calculatedMinServicePrice = a+b+c;
console.log("Change in first element >> " + zonedetails[0].availableServices[0].serviceSubTypes[0].providerAtServiceSubTypeLevel[0].calculatedMinServicePrice);
}
}
}
这是输出
a&gt;&gt; 0 b>&gt; 0 c>&gt; 0 第一个元素的更改&gt;&gt; 0
a&gt;&gt; 0 b>&gt; 0 c>&gt; 1 第一个元素的更改&gt;&gt; 0
a&gt;&gt; 0 b>&gt; 1 c>&gt; 0 第一个元素的更改&gt;&gt; 1
a&gt;&gt; 0 b>&gt; 1 c>&gt; 1 第一个元素的更改&gt;&gt; 1
a&gt;&gt; 0 b>&gt; 2 c>&gt; 0 第一个元素的更改&gt;&gt; 2
a&gt;&gt; 0 b>&gt; 2 c>&gt; 1 第一个元素的更改&gt;&gt; 2
a&gt;&gt; 1b>&gt; 0 c>&gt; 0 第一个元素的更改&gt;&gt; 2
**我真的被困在这里,无法找到解决问题的任何线索或解决方案。请求任何帮助。感谢所有提前**