добавление объекта в другой объект, который находится в другом объекте - PullRequest
1 голос
/ 16 февраля 2012

Скажите, что есть три объекта, заметка, noteState и история:

var note = {
    text: "hello new world"
}

var history = {}
var noteState = {}

как мне добавить заметку в noteState, а затем добавить noteState в историю?

Могу ли я потенциально сделать что-то вроде:

$.extend(noteState, {"note1": note});
$.extend(history, {"noteState1": noteState});

и если бы я обратился к нему, чтобы взять текст из заметки, как бы я поступил так?

history.noteState1.note1.text  // ?

или есть другой способ сделать это? спасибо!

Ответы [ 3 ]

3 голосов
/ 16 февраля 2012

Почему бы вам просто не

var note = {
    text: "hello new world"
}

var history = {}
var noteState = {}

noteState.note = note;
history.noteState= noteState;
alert(history.noteState.note.text);//alerts hello new world
0 голосов
/ 16 февраля 2012

Полагаю, вы также можете использовать свойство prototype для связи ваших объектов

0 голосов
/ 16 февраля 2012

Да, вы можете сделать это, и вам не нужно использовать расширение, просто установите свойства. Вам даже не нужно использовать разные имена, так что следующее будет хорошо:

noteState.note = note;
history.noteState = noteState;

Тогда, как вы написали, вы можете использовать

 history.noteState.note.text

для извлечения вложенных свойств.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...