Вставить массив в массив с помощью Jquery (из константы) - PullRequest
0 голосов
/ 29 февраля 2012

Добрый день,

У меня есть пустой массив в одном файле и массив с данными в другом. Я хочу перенести все данные из одного в другой. Моя проблема в том, что массив находится внутри константы. Обычный способ .push или .add к массиву не работает. Любая помощь приветствуется.

Файл 1 - Массив

    var CONSTANTS = {

    LOCATION_LOOKUP_DATA :[], // want to add array data inside this array
     };

Файл 2 - Массив

    var AVAILABLE_ZIPS_Widget = [

    ["10501","10502","10504","10505"]
    ];

 CONSTANTS.LOCATION_LOOKUP_DATA.push(AVAILABLE_ZIPS_Widget);

Ответы [ 4 ]

2 голосов
/ 29 февраля 2012

Здесь есть несколько проблем

  • AVAILABLE_ZIPS_Widget является двумерным массивом, но имеет только один массив значений. Должно быть, это просто 1d массив
  • Вы выдвигаете весь массив как одно значение, а не индивидуально выдвигаете элементы массива

Попробуйте следующее

var AVAILABLE_ZIPS_Widget = ["10501","10502","10504","10505"];
for (var i = 0; i < AVAILABLIE_ZIPS_Widget.length; i++) {
  CONSTANTS.LOCATION_LOOKUP_DATA.push(AVAILABLE_ZIPS_Widget[i]);
}
1 голос
/ 29 февраля 2012

Я думаю, что вы хотели использовать:

CONSTANTS.LOCATION_LOOKUP_DATA.push(AVAILABLE_ZIPS_Widget[0]);
0 голосов
/ 29 февраля 2012

Я думаю, что вы хотите использовать concat вместо push

CONSTANTS.LOCATION_LOOKUP_DATA.concat (AVAILABLE_ZIPS_Widget [0]);

То, что вы делаете с помощью push, - это добавление нового члена вмассив, который является массивом массивов.

В итоге вы получите: [[["10501", "10502", "10504", "10505"]]]

Что бы ядумаю, это не то, что вы ищете.

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

у меня работает, пробовали?

CONSTANTS.LOCATION_LOOKUP_DATA.push(AVAILABLE_ZIPS_Widget[0]);
...