[英]Combine 2 different javascript json objects into one with a loop and joining on the questionid ,
所以我試圖結合2種不同的javascript對象,而最終我無法在angularjs ng-repeat中使用。 由於數據庫中存在一對多關系,因此我分別提取查詢。
我所擁有的是:
Main list of data , 3 object sample
0: Object
$$hashKey: "object:4"
Active:true
QuestionId:2
SalesChannel:"DTD"
1: Object
$$hashKey: "object:5"
Active:true
QuestionId:3
SalesChannel:"DTD"
2: Object
$$hashKey: "object:6"
Active:true
QuestionId:5
SalesChannel:"DTD"
然后另一個查詢將數據返回到我想作為JSON關聯到另一個對象的數據
Object { Id: 3, Name: "Text box" QuestionId: 3}
{ Id: 4, Name: "Text box" QuestionId: 3}
{ Id: 9, Name: "Text box" QuestionId: 5}
因此,由於我同時擁有這兩個對象,因此我想將它們結合起來。
自然地,我認為我應該從數據庫中返回,但是隨后我還考慮了循環和追加
for loop on main
{
.... find where main.QuestionId = sub.QuestionId and it to be added in as a nested object of json type...
因此最終結果應該看起來像
[{
Active:true,
QuestionId: 3
SubData: [ {
Id: 3,
Name: "TextBox
QuestionId:3
},
{
Id: 4,
Name: "TextBox
QuestionId:3
}],
SalesChannel: "DTD"
}]
// and so on
我怎樣才能做到這一點?
您想要遍歷所有主要對象,並僅將第二次查詢的結果分配給它們。 使用Array.prototype.forEach
遍歷所有內容,並使用Array.prototype.filter
從輔助查詢中僅選擇適當的結果。
firstQueryResult.forEach((firstObject)=>
firstObject.subdata = secondQueryResult.filter((secondObject)=>
secondObject.QuestionId === firstObject.QuestionId))
順便說一句,這與angularjs無關
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/filter https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects /陣列/的forEach
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.