Angularjs: Как заполнить двумерный массив на второй позиции данными из $ scope

0

У меня есть двумерный массив, подобный этому:

biDimArr = new Array(6);
for(var i=0; i<6; i++){
     biDimArr[i] = new Array(3);
     biDimArr[i] = [i,0,0];
};

Выход: biDimArr = [[0, 0, 0], [1, 0, 0], [2, 0, 0], [3, 0, 0],[4, 0, 0],[5, 0, 0]]

Если я перебираю объект области видимости следующим образом:

var quantityArr=[];
angular.forEach($scope.sales, function (item){
    quantityArr.push(item.quantity);
});

Я получаю этот массив: quantityArr = [1, 2, 5, 5, 5, 3]

Как вставить значения из величиныArr в biDimArr во второе положение внутренних массивов? Значение "1" в первом массиве, val "2" во втором, "5" в третьем и т.д.

Мне нужен этот массив, чтобы заполнить линейную диаграмму Google.

Я знаю, что это должен быть простой ответ, но я не получаю правильный результат.

Спасибо. Вы будете очень благодарны.

  • 2
    Вы можете попробовать: quantityArr.forEach(function(quantity, index) { biDimArr[index][1] = quantity }) Предполагается, что biDimArr имеет точно такое же количество элементов, что и QuantityArr.
  • 0
    Да, в самом деле. Большое спасибо.
Показать ещё 2 комментария
Теги:
arrays

1 ответ

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

Вы можете использовать следующий код:

quantityArr.forEach(function(quantity, index) { 
    biDimArr[index][1] = quantity;
})

Обратите внимание, что в нем отсутствует обработка ошибок, поэтому количествоArr и biDimArr должны иметь точно такое же количество элементов.

Изменить: Чтобы сделать это более эффективно, вы также можете:

$scope.sales.forEach(function(item, index) {
    // If you need the quantityArr populated:
    quantityArr.push(item.quantity);
    // Add the quantity to biDimArr:
    diDimArr[index][1] = item.quantity;
})
  • 0
    да, я знаю, что я просто тестирую, чтобы выяснить, как лучше всего заполнить график. Еще раз спасибо!
  • 1
    Тогда вы можете немного ускорить процесс. Проверьте мой отредактированный ответ;)
Показать ещё 1 комментарий

Ещё вопросы

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