Добавление массива в хеш-таблицу - PullRequest
0 голосов
/ 31 марта 2011

У меня есть массив, полный значений, myArray []

Я пытаюсь поместить этот массив в хеш-таблицу для передачи через сокет с моего сервера node.js.

Я хочу, чтобы массив в хеш-таблице содержал ту же информацию, что и myArray.

var item = [
    {    hashArray: []     }
];

for (var i = 0; i < myArray.length; i++) {
    item.hashArray.push(myArray[i]);
}

Я получаю сообщение об ошибке, что не могу вызвать push of undefined.

Спасибо за любую помощь!

РЕДАКТИРОВАТЬ: Большое спасибо всем, я вижу, что я делаю неправильно!

Ответы [ 3 ]

3 голосов
/ 31 марта 2011

Вы создаете item как массив с объектом по нулевому индексу:

var item = [
    {    hashArray: []     }
];

Либо пусть item будет объектом:

var item = {
    hashArray: []
};

Я предполагаю, что это то, что вы хотите, если item не является означало быть массивом, в этом случае вы должны push() до item[0]:

item[0].hashArray.push(myArray[i]);

РЕДАКТИРОВАТЬ
Кстати, почему бы просто не позволить массиву hashArray содержать значения из myArray?

var item = {
    hashArray: myArray
};

(Спрашиваю из любопытства:))

1 голос
/ 31 марта 2011
item[0].hashArray.push(myArray[i]);

или

var item = {    hashArray: []     };
1 голос
/ 31 марта 2011

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

item[0].hashArray.push(...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...