2014-01-04 2 views
-1

Я пытаюсь использовать цикл for для добавления контента в объект.Динамически добавлять данные в объект js

Для примера:

var p = { "1": "value", "2": "value", "3": "value" };

Есть ли способ, чтобы использовать для цикла, чтобы добавить "1", "2", "3" и их собственности (если свойство одно и то же), в вар р?

ответ

1

Есть два способа добавления новых свойств объекта:

var obj = { 

}; 

for (var i = 1; i < 3; i++) { 
// using dot notation 
// obj.i = "value"; 

// using square bracket notation 
obj[i] = value3; // use this in your case 

} 

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

+1

Обратите внимание, что первая форма добавит к объекту атрибут 'i', например:' obj = {"i": "value"} '. В этом случае следует использовать условное обозначение в скобках, поэтому вы можете вставить выражение внутри скобки (в этом случае - переменную 'i'), в результате получится следующий объект:' obj {"1": "value", "2 ":" value "," 3 ":" value "}'. – Kroltan

+0

Исправлено и устранено путаница, спасибо за предложение –

+0

Большое спасибо за это еще один вопрос: как изменилось бы изменение цикла, если бы я хотел, чтобы мой объект был как таковой var data = {'1.jpg': {caption: ' '},' 2.jpg ': {caption:' '},' 3.jpg ': {caption:' '},' 4.jpg ': {caption:' '}}; Если 1.jpg и 2.jpg и их подписи были добавлены динамически с использованием цикла for – Hzakv

Смежные вопросы