2010-11-01 2 views
32

У меня есть объект Javascript, который выглядит так.Динамически Добавить в Javascript Object

ips[ipID] = {}

Так что я в конечном итоге с кучей изобр, что необходимо хранить информацию, которая будет выглядеть как

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

Мой вопрос, как я могу динамически добавлять эти имена и значения?

+2

Я думаю, вы могли бы ввести в заблуждение JSON с JavaScript. – mikerobi

+0

JSON - это javascript. Мне просто интересно, как динамически добавлять значения в объект. – Mike

+6

JSON не является Javascript, JSON - это формат данных. Приведенный выше пример вызовет ошибку в любом стандартном JSON-синтаксическом анализаторе. – mikerobi

ответ

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

Хорошо, что работает. Наверное, я должен был упомянуть, что мои имена и ценности являются динамичными. Поэтому я использую tmp [name] = value; а затем мне нужно добавить tmp. – Mike

5

Если вы хотели бы использовать большую библиотеку подчеркивания (швейцарский армейский нож для Js разработчиков), вы можете использовать метод расширения http://documentcloud.github.com/underscore/#extend.

Так, например

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

Надеется, что это понятно, было бы легче помочь, если у вас есть более точный вопрос.

48

Я считаю, что это проще всего сделать, если ваши имена динамичны:

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

Решение Для JSON Объект:

По умолчанию:

array=[]; 
object={}; 

JSON код:

var People= {}; 

Json.People[key]="value"; 

JSON Результат:

{People: 
     { 
     key: "value" 
     } 
} 
Смежные вопросы