数组推送产生意外数组

时间:2016-12-03 06:45:44

标签: javascript angularjs arrays

简单的问题我希望(不确定我错过了什么);

如何将项目推送到基本数据而不是索引数组?

这样做时:

var shops = [];     
angular.forEach(data, function(value, index) { //loop over data
    shops.push(value.SHOP_CODE);
});

enter image description here

2 个答案:

答案 0 :(得分:1)

当您将stores数组记录到控制台时,该数组可能为空,因此它表示Array [0]。

单击Array [0]旁边的下拉箭头时,将再次评估数组的内容。因此,当您单击下拉列表时,数组不为空,因此显示4个元素。

如果数组在你执行console.log(商店)时不是空的,那么你将得到你想要的结果。

我建议你在语句console.log(商店)添加一个断点并检查数组的内容。

答案 1 :(得分:1)

感谢@Patrick Evans和@SLePort,我意识到我需要等待承诺。这有效:

.$promise.then(function(data) {
   $scope.workOrder = data;
       angular.forEach(data, function(value, index) { //loop over aircraft data
                        shops.push(value.SHOP_CODE);
                });
           shops.sort();
           console.log(shops);
          });