2016-06-27 7 views
0

Ich habe ein Array, das verschiedene Objekte speichert. Sieht aus wie folgt vor:Schieben Sie ein Objekt auf einen Schlüssel in einem Objekt-Array Javascript

['key3':{id:something, d:undefined,x:200,y:400}] 

Hier Key1, Key2, Key3 werden alle dynamisch erstellt und gespeichert in einer Variablen:

[ 'key2': { id: 'WA3WA9WA2WA4WAdWA1WA2WAb-WAeWAdWAaWAf-4WA1WAaWA6-WA8WA8WAeWAc-WAfWAdWAbWAeWAaWA5WA1WAfWAbWAdWAfWA2', 
d: undefined, 
x: 520, 
y: 120 }, 
    'Key1': { id: 'WA7WA2WAbWAdWAfWA9WA6WA8-WA7WAdWAeWA4-4WA4WA3WAb-WAaWAdWA4WAe-WA2WAbWAdWA5WA1WA0WA7WAbWA3WAdWAfWA9', 
d: undefined, 
x: 810, 
y: 180 } ] 

Wie kann ich einen Wert in das Array wie schieben.

+5

, die ungültig ist. Entweder Sie haben ein Array oder Sie haben ein Objekt mit Schlüsseln, – str

+1

Mögliches Duplikat von [Hinzufügen von Objekten zu einem Objekt über die .push() -Methode] (http://stackoverflow.com/questions/7261431/adding-items-to- Ein-Objekt-durch-die-Push-Methode) – str

Antwort

0

vielleicht bedeuten Sie Sie haben eine wörtliche wie

var yourObj = { 'key1': ... 
    'key2': ... 
} 

und Sie wollen ein anderes schieben? wenn es tun der Fall es

yourObj[newKeyGenerated] = theNewObj; 
0

Sie können ein Array haben

var a = [{ id: 'WA3WA9WA2WA4WAdWA1WA2WAb-WAeWAdWAaWAf-4WA1WAaWA6-WA8WA8WAeWAc-WAfWAdWAbWAeWAaWA5WA1WAfWAbWAdWAfWA2', 
d: undefined, 
x: 520, 
y: 120 }, 
{ id: 'WA7WA2WAbWAdWAfWA9WA6WA8-WA7WAdWAeWA4-4WA4WA3WAb-WAaWAdWA4WAe-WA2WAbWAdWA5WA1WA0WA7WAbWA3WAdWAfWA9', 
d: undefined, 
x: 810, 
y: 180 } ] 

in diesem Fall a.push({...})

oder ein Objekt

var a = { 'key2': { id: 'WA3WA9WA2WA4WAdWA1WA2WAb-WAeWAdWAaWAf-4WA1WAaWA6-WA8WA8WAeWAc-WAfWAdWAbWAeWAaWA5WA1WAfWAbWAdWAfWA2', 
d: undefined, 
x: 520, 
y: 120 }, 
    'Key1': { id: 'WA7WA2WAbWAdWAfWA9WA6WA8-WA7WAdWAeWA4-4WA4WA3WAb-WAaWAdWA4WAe-WA2WAbWAdWA5WA1WA0WA7WAbWA3WAdWAfWA9', 
d: undefined, 
x: 810, 
y: 180 } } 

und dann können Sie haben a.key3 = {...}

0

Wenn ich richtig verstanden habe, sollte dies die Lösung sein: https://jsfiddle.net/a7uxd4tk/

var data1 = [ {'key1': { id: 'a', d: undefined, x: 520, y: 120 }}]; 
var data2 = [ {'key2': { id: 'b', d: undefined, x: 520, y: 120 }}]; 
var data3 = [ {'key3': { id: 'b', d: undefined, x: 520, y: 120 }}]; 
var addData = []; 
addData.push(data1[0]); 
addData.push(data2[0]); 
addData.push(data3[0]); 
console.log(addData); 

Auch merken Sie [ { und } ]

0

Versuchen Sie es:

var data = [ {'key2': { id: 'WA3WA9WA2WA4WAdWA1WA2WAb-WAeWAdWAaWAf-4WA1WAaWA6-WA8WA8WAeWAc-WAfWAdWAbWAeWAaWA5WA1WAfWAbWAdWAfWA2', 
d: undefined, 
x: 520, 
y: 120 }}, 
    {'Key1': { id: 'WA7WA2WAbWAdWAfWA9WA6WA8-WA7WAdWAeWA4-4WA4WA3WAb-WAaWAdWA4WAe-WA2WAbWAdWA5WA1WA0WA7WAbWA3WAdWAfWA9', 
d: undefined, 
x: 810, 
y: 180 }} ]; 

var newObj = {}; 
newObj.key3 = {}; 

newObj.key3.id = 'WA3WA9WA2WA4WAdWA1WA2WAb-WAeWAdWAaWAf-4WA1WAaWA6-WA8WA8WAeWAc-WAfWAdWAbWAeWAaWA5WA1WAfWAbWAdWAfWA2'; 
newObj.key3.d = undefined; 
newObj.key3.x = 520; 
newObj.key3.y= 120; 

data.push(newObj); 
console.log(data); 
Verwandte Themen