2017-05-11 4 views
0

In Javascript, wie kann ich dieses Objekt erstellen, ohne die Schlüssel mit gleichen Namen zu überschreiben. Wenn das Objekt angezeigt wird, überschreiben die Schlüssel ..Objekt mit doppelten Schlüsseln erstellen

var dip = { 
    qtd: 6, 
    lce: { 
     'oct': { 
      'sgs': 1, 
      'ucs': 1 
     }, 
     'oct': { 
      'sgs': 2, 
      'ucs': 2 
     } 
    } 
}; 
console.log(dip); 

//Result of console.log 
{ 
    qtd: 6, 
    lce: {  
     'oct': { 
      'sgs': 2, 
      'ucs': 2 
     } 
    } 
} 
+0

Es ist nicht möglich .... entweder eindeutige Schlüssel oder ein Array verwenden – epascarello

+0

Warum zwei Objekte mit demselben Namen erstellen? – vabii

+2

Klingt wie ein XY-Problem. Was versuchst du eigentlich? Stellen Sie diese Frage und Sie erhalten bessere Antworten als zu fragen, was Sie für die Lösung halten. https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem – Welbog

Antwort

1

Kurze Antwort, kann man nicht. Und es würde keinen Sinn ergeben, wenn Sie es auch könnten. Das Problem ist, dass, wenn Sie mehrere Objekte haben, die den gleichen Schlüssel haben, und Sie zurückgehen, um später auf eines von ihnen zuzugreifen, auf welches würde es auch zeigen? Die Idee hinter Schlüsseln ist, dass sie auf ein einziges Objekt verweisen.

0

Sie können nicht. Vielleicht sollte lce auf ein Array von Objekten zeigen. Wenn die oct Sachen wesentlich sind, könnte es so aussehen:

var dip = { 
    qtd: 6, 
    lce: [ 
    { 'sgs': 1, 
     'ucs': 1, 
     'oct': true 
    }, 
    { 'sgs': 2, 
     'ucs': 2, 
     'oct': true 
    } 
    ] 
} 
Verwandte Themen