簡體   English   中英

想要在嵌套對象內添加對象數組:Javascript

[英]Want to add an array of objects inside a nested object: Javascript

我需要將對象數組添加到結構如下所示的另一個對象中。

這里的arr是需要添加到“目標”對象的對象數組。

幫助將不勝感激

結構體:


    var arr = [
               { field: "state", value: "value2"},
               { field: "city", value: "value3"}
              ];

該對象數組需要添加到以下結構的對象中:


var dest = {
  "topic": "test",
  "filter":  {
             "sequence": [
                       {
                         "field": "country",
                         "value": "value1",
                       }
                     ]
             },
  "order":  [
                  {
                      "field": "field1",
                       "order": "backward"
                  }
            ]
}


我想在“序列”中添加“ arr”字段,以便結果如下所示:


var dest = {
  "topic": "test",
  "filter":  {
             "sequence": [
                       {
                         "field": "country",
                         "value": "value1",
                       },
                        {
                         "field": "state",
                         "value": "value2",
                       },
                        {
                         "field": "city",
                         "value": "value3",
                       }
                     ]
             },
  "order":  [
                  {
                      "field": "field1",
                       "order": "backward"
                  }
            ]
}


使用forEach()可以做到。

 var arr = [ { field: "state", value: "value2"}, { field: "city", value: "value3"} ]; var dest = { "topic": "test", "filter": { "sequence": [ { "field": "country", "value": "value1", } ] }, "order": [ { "field": "field1", "order": "backward" } ] } arr.forEach(function (item) { dest.filter.sequence.push(item) }); console.log(dest) 

ES6 傳播算子也可以用於合並

 var arr = [ { field: "state", value: "value2"}, { field: "city", value: "value3"} ]; var dest = { "topic": "test", "filter": { "sequence": [ { "field": "country", "value": "value1", } ] }, "order": [ { "field": "field1", "order": "backward" } ] } dest.filter.sequence.push(...arr) console.log(dest) 

您只需要使用以下代碼即可將數組插入對象。

        arr.forEach( function(value, index, array) {
            dest.filter.sequence.push(value);
        });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM