2016-06-29 8 views
0

hinzugefügt Ich erstelle ein Objekt aus duplicates Array und ich drücke dynamisch Elemente zu ihm. Alles funktioniert gut, außer dass ich ein zusätzliches leeres Element bekommen und ich kann es nicht erklären, warum ...Leeres Element wird zu Objekt

Dies ist mein Code:

for(i=0;i<duplicates.length; i++) { 
    Logger.log(duplicates[i]); 
    var request = { 
    "name": duplicates[i].scope, 
    "id": 3, 
    "rules":[ 
     { 
     "name": duplicates[i].scope + " " + "OP SDR Sync", 
     "tags": [ 
      { 
      "tagId": 1, 
      "variables":[ 
       { 
       } 
      ], 
      "condition": false, 
      }, 
      { 
      "tagId": 1, 
      "condition": false, 
      } 
     ], 
     "ruleSetId": 3, 
     } 
    ] 
    } 

    for(var j in duplicates[i].variable) { 
    request.rules[0].tags[0].variables.push({ 
     "variable": duplicates[i].variable[j], 
     "matchType": "Regex", 
     "value": duplicates[i].scopeDef 
    }); 
    } 
} 

Hier ein Beispiel:

duplicates = [ {scopeDef=.*, scope=Global 4, variable=[trackingcode, v1, v2]}, {scopeDef=https://www.delta.com/, scope=Homepage 2, variable=[v4, v5, v6, v7]}, ]

Nachdem ich führen Sie den Code, den ich folgendes Protokoll erhalten:

Erstes Objekt

{name=Global 4, rules=[{name=Global 4 OP SDR Sync, tags=[{variables=[ 
{}, 
{matchType=Regex, variable=trackingcode, value=.*}, 
{matchType=Regex, variable=v1, value=.*}, 
{matchType=Regex, variable=v2, value=.*}], condition=false, tagId=1.0}, {condition=false, tagId=1.0}], ruleSetId=3.0}], id=3.0} 

Zweites Objekt

name=Homepage 2, rules=[{name=Homepage 2 OP SDR Sync, tags=[{variables=[ 
{}, 
{matchType=Regex, variable=v4, value=https://www.delta.com/}, 
{matchType=Regex, variable=v5, value=https://www.delta.com/}, 
{matchType=Regex, variable=v6, value=https://www.delta.com/}, 
{matchType=Regex, variable=v7, value=https://www.delta.com/}], condition=false, tagId=1.0}, {condition=false, tagId=1.0}], ruleSetId=3.0}], id=3.0} 

Beachten Sie, dass beide Objekte ein leeres Element enthalten ... warum wird dieses Element hinzugefügt und wie kann ich es loswerden ??

Antwort

2

Sie definiert, dass leeres Objekt hier:

"variables":[ 
       { 
       } 
      ], 
+0

Richtig, bereits behoben, durch das Löschen von zusätzlichen '{}' – Valip

+0

Und als solche, @ Pavelvaleriu, sollten Sie dies akzeptieren antworten, anstatt die gleiche Antwort Minuten später zu geben. – JAAulde

1
Code wie unten ändern

dieses Problem zu beheben:

Aktuell: "Variablen": [{}],

zu beheben: "Variablen": [],

Verwandte Themen