在javascript中创建和初始化二维数组
我正在尝试在AngularJS应用程序中用javascript创建并初始化二维数组,如下所示:在javascript中创建和初始化二维数组,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,我正在尝试在AngularJS应用程序中用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 = [];
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;
}
}
$scope.invalidVote=[];
对于(变量i=0;i<$scope.arry1.length;i+=1){
$scope.answerscont[i]=$scope.arry1[i].arry2.length;
对于(变量j=0;j<$scope.arry1[i].arry2.length;j+=1){
$scope.invalidVote[i][j]=假;
}
}
但是它不起作用,什么是正确的方法呢?试试这个:
$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;
}
}
$scope.invalidVote=[];
对于(变量i=0;i<$scope.arry1.length;i++){
$scope.answerscont[i]=$scope.arry1[i].arry2.length;
$scope.invalidVote[i]=[];
对于(var j=0;j<$scope.arry1[i].arry2.length;j++){
$scope.invalidVote[i][j]=假;
}
}
试试这个:
$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;
}
}
$scope.invalidVote=[];
对于(变量i=0;i<$scope.arry1.length;i++){
$scope.answerscont[i]=$scope.arry1[i].arry2.length;
$scope.invalidVote[i]=[];
对于(var j=0;j<$scope.arry1[i].arry2.length;j++){
$scope.invalidVote[i][j]=假;
}
}
我假设$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;
对于(变量i=0;i<$scope.arry1.length;i+=1)
{
$scope.answerscont[i]=$scope.arry1[i]。长度;
对于(变量j=0;j<$scope.arry1[i]。长度;j+=1)
{
$scope.invalidVote[i][j]=假;
}
}
“$scope.invalidVote=$scope.arry1;”像这样声明“invalidVote”可以确保它包含相同数量的索引。我假设
$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;
对于(变量i=0;i<$scope.arry1.length;i+=1)
{
$scope.answerscont[i]=$scope.arry1[i]。长度;
对于(变量j=0;j<$scope.arry1[i]。长度;j+=1)
{
$scope.invalidVote[i][j]=假;
}
}
“$scope.invalidVote=$scope.arry1;”像这样声明“invalidVote”可以确保它包含相同数量的索引。我假定$scope.arry1存在并且是数组?我假定$scope.arry1存在并且是数组?
$scope.arry1[I]。arry2.length
将不起作用。它应该是$scope.arry1[1].length
-假设arry1是一个数组数组,而不是一个对象数组,所有对象都有一个属性arry2,这是一个数组这是只有原始海报才能回答的问题你是对的。否则它就不会是二维数组。$scope.arry1[i].arry2.length
将无法工作。它应该是$scope.arry1[1].length
-假设arry1是一个数组数组,而不是一个对象数组,所有对象都有一个属性arry2,这是一个数组这是只有原始海报才能回答的问题你是对的。不过,如果不是这样,它就不会是二维数组。