Как добавить это в массив динамически?

0

Я храню элементы div в ассоциативном массиве, так что консоль представит мне такую информацию. Итак, console.log("вражеские пьесы") получает меня:

  Object {left: null, top: div#silver.drag, right: null, bot: div#gold.drag}

Все идет нормально.

Затем я пытаюсь добавить это в массив или обработать позже.

pullablepieces [0] = соседи ['top'];

Это прекрасно работает. Console.log pullablepieces [0] получает меня..

[div#silver.drag]

С большим деревом полезных элементов ниже. Хорошо хорошо.

Но если я попытаюсь сделать то же самое динамически...

pullablepieces + = соседи ['top'];

Вместо этого "DIV HTML OBJECT" и массив pullablepieces получает 23 длины для добавления только одного объекта div. Я не могу перебирать каждую из них, как объект, который распространяется в массив, я не могу правильно ссылаться на него.

Как мне закодировать его так, чтобы он сохранил целостность объекта и все еще просто сохранил его в один элемент массива?

  • 0
    Я не уверен, но вы пробовали pullablepieces[] = neighbors['top']; ? Или даже pullablepieces[pullablepieces.length] = neighbors['top'];
Теги:

2 ответа

0
Лучший ответ

Используйте метод push:

pullablepieces.push(neighbors['top']);

  • 0
    Я попробую это. Скорее всего, я просто был глуп, и + = испортил мой код.
  • 0
    Спасибо! Это сработало хорошо.
0

Если pullablepieces - массив, вы добавляете элементы в конец массива с .push(), а не с +=.

pullablepieces.push(neighbors['top']);

В javascript, += - это строковый или числовой оператор, поэтому javascript будет пытаться преобразовать все, что вы дадите, одному из них при использовании этого оператора. Это не оператор, который работает в массиве.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню