2016-03-01 42 views
0

我试图创建和初始化AngularJS应用程序内的JavaScript一个二维数组如下:创建和初始化数组二维在javascript

$scope.invalidVote = []; 
for (var i = 0; i < $scope.arry1.length; i += 1) { 
    $scope.answersCount[i] = $scope.arry1[i].arry2.length; 

    for(var j = 0; j < $scope.arry1[i].arry2.length; j += 1) { 
     $scope.invalidVote[i][j] = false; 
    } 
} 

但它不工作,什么是应该做的正确方法那?

+0

我认为$ scope.arry1存在并且是一个数组? – JanS

回答

1

试试这个:

$scope.invalidVote = []; 
for (var i = 0; i < $scope.arry1.length; i++) { 
    $scope.answersCount[i] = $scope.arry1[i].arry2.length; 
    $scope.invalidVote[i] = []; 

    for(var j = 0; j < $scope.arry1[i].arry2.length; j++) { 
     $scope.invalidVote[i][j] = false; 
    } 
} 
+0

'$ scope.arry1 [i] .arry2.length'将不起作用。它应该读取'$ scope.arry1 [1] .length' - 假定arry1是一个数组的数组,而不是一个数组,它的所有属性都是数组arry2,这是一个数组 – JanS

+0

这是只有原始海报才能回答的问题 – valepu

+0

您是对的。不过,它不会是二维数组。 – JanS

1

我假设$scope.arry1[i]是包含其他数组和已经与值填充数组。 所以,你的代码应该是这样的:

$scope.invalidVote = $scope.arry1; 
for (var i = 0; i < $scope.arry1.length; i += 1) 
    { 
    $scope.answersCount[i] = $scope.arry1[i].length; 
    for(var j = 0; j < $scope.arry1[i].length; j += 1) 
     { 
     $scope.invalidVote[i][j] = false; 
     } 
    } 

'$ scope.invalidVote = $ scope.arry1;'像这样声明“invalidVote”确保它包含相同数量的索引。