Как добавить объектный литерал в объектный литерал

Предполагая, что у меня есть литерал объекта, который выглядит следующим образом:

C = {"A":"a","B":"b","C":"c"};

и я хочу добавить еще один объект, как это..

"D" : {"E":e}

где e переменная а также e = "ValueOfE"Чтобы C будет иметь такую ​​ценность..

C = {"A":"a","B":"b","C":"c", "D" : { "E" : "ValueOfE"}};

Как я это сделаю?

3 ответа

Решение

Значения в литералах объекта могут быть произвольными выражениями, что означает, что они могут содержать другие литералы объекта, использовать существующие переменные и т. Д.; так что если вы спрашиваете, что я думаю, то вы можете написать:

C = { "A": "a", "B": "b", "C": "c", "D": { "E": e } };

Допустим, у вас есть литеральный объект C, например:

C = {"A":"a","B":"b","C":"c"};

Вы можете добавить любые другие объекты к нему, как:

var D = { "E" : e};
C["D"] = D;

или просто:

C["D"] = { "E" : e};

и если твой ключ ("D") является допустимым идентификатором, который в данном случае также можно сделать следующим образом:

C.D = { "E" : e};

Кроме этого, в некоторых старых браузерах нельзя использовать зарезервированные слова без кавычек. Например, ES3 не допускает использование зарезервированных слов без кавычек в качестве имен свойств, таких как: default, delete, do, double, else, enum... что здесь не так.

Вы также можете создать свой объект с использованием литерала и передать D объект:

C = {"A":"a","B":"b","C":"c", "D":D };

а также:

C = {"A":"a","B":"b","C":"c", "D": { "E" : e } };

Дело в том, что объекты JavaScript являются своего рода HashMaps с ключами и значениями, и используя буквальный синтаксис, вы можете создать его со всеми другими объектами и значениями в нем. а также вы можете добавлять новые пары ключ-значение после создания объекта.

Используйте следующий синтаксис:

C = {"A":"a","B":"b","C":"c"};
C.D = {"E":e};
Другие вопросы по тегам