2010-11-01 22 views
32

Tengo un objeto de JavaScript que se parece a esto.Añadir dinámicamente al objeto de Javascript

ips[ipID] = {}

Así que terminan con un montón de ips que necesitan almacenar información que se verá como

ipID { name : 'val', anotherName : 'anotherVal' }

Mi pregunta es, ¿cómo puedo agregar dinámicamente estos nombres y valores?

+2

creo que podría estar confundiendo JSON con JavaScript. – mikerobi

+0

JSON es javascript. Me pregunto cómo agregar valores a mi objeto dinámicamente. – Mike

+6

JSON no es Javascript, JSON es un formato de datos. El ejemplo anterior desencadenaría un error en cualquier analizador JSON compatible con las normas. – mikerobi

Respuesta

27
var ipID = {}; 
ipID.name = 'val'; 
ipID.anotherName = 'anotherVal'; 
+1

Ok, eso funciona. Creo que debería haber mencionado que mis nombres y valores son dinámicos. Entonces estoy usando tmp [nombre] = valor; y luego necesito agregar tmp. – Mike

5

Si desea utilizar la gran biblioteca de subrayado (una navaja suiza para los desarrolladores js), se puede utilizar el método de extender http://documentcloud.github.com/underscore/#extend.

Así, por ejemplo

var tmp = { name: "asdf", val: "value" }; 
_(ips[ipID]).extend(tmp); 

la esperanza que esto está claro, sería más fácil ayudar si tenía una pregunta más precisa.

48

Creo que esto es lo más fácil de hacer si sus nombres son dinámicos:

var myobj = {}; 
var newFieldName = 'my new field name'; 
var newFieldValue = 'my new field value'; 
myobj[newFieldName] = newFieldValue; 
0

solución para JSON objeto:

Por defecto:

array=[]; 
object={}; 

Código JSON:

var People= {}; 

Json.People[key]="value"; 

JSON Resultado:

{People: 
     { 
     key: "value" 
     } 
} 
Cuestiones relacionadas