Javascript 多维数组的ng模型

Javascript 多维数组的ng模型,javascript,angularjs,arrays,Javascript,Angularjs,Arrays,我目前正在尝试使用AngularJS存储一些数据。我有一个包含不同部分以及行和列的表 每个字段都有一个下拉列表,仅包含字母“O”、“T”或“E”。我想要的是将这些值存储在一个数组中:[section][row][column]-例如[0][0][0]=“e” 以下是我尝试存储值的方式: <select id="{{$parent.$parent.$index}}_{{$parent.$index}}_{{$index}}" ng-change="changePollValue()"

我目前正在尝试使用AngularJS存储一些数据。我有一个包含不同部分以及行和列的表

每个字段都有一个下拉列表,仅包含字母“O”、“T”或“E”。我想要的是将这些值存储在一个数组中:[section][row][column]-例如[0][0][0]=“e”

以下是我尝试存储值的方式:

<select id="{{$parent.$parent.$index}}_{{$parent.$index}}_{{$index}}"
    ng-change="changePollValue()"
    ng-model="selectedValues[$parent.$parent.$index][$parent.$index][$index]" ...>
“selectedValues”的初始化类似于
$scope.selectedValues=[]


有什么建议吗

看起来您真正想要的是一个矩阵,而不是用javascript生成矩阵的方式。这就是生成三维矩阵的方式:

$scope.matrix = [[[]]];
像这样,您有一个父数组,它的子数组是另一个数组(这构成了一个简单的矩阵),然后,这个子数组还有另一个子数组(父数组的孙子数组),然后这个子数组成为三维数组。看一看三维数组定义,其中包含一些子对象和子对象:

$scope.matrix = [
  [
    [
      { selectedOption: '0-0-0' },
      { selectedOption: '0-0-1' },
      { selectedOption: '0-0-2' }
    ], [
      { selectedOption: '0-1-0' },
      { selectedOption: '0-1-1' },
      { selectedOption: '0-1-2' }
    ]
  ], [
    [
      { selectedOption: '1-0-0' },
      { selectedOption: '1-0-1' },
      { selectedOption: '1-0-2' }
    ], [
      { selectedOption: '1-1-0' },
      { selectedOption: '1-1-1' },
      { selectedOption: '1-1-2' }
    ]
  ]
];
在这种情况下,第一个数字与父索引相关,第二个数字(连字符后)与子索引相关,第三个索引(最后连字符后)与孙索引相关。因此,1-1-1指向第二个父项(0基索引),第二个子项和第二个孙子项


我已经做了一个例子。

谢谢!我不知道创建矩阵的[[]]-语法。我尝试了Java语法,但没有成功。没问题@DCH。如果这真的对你有帮助并且是正确的答案,你可以这样做。玩得高兴
$scope.matrix = [
  [
    [
      { selectedOption: '0-0-0' },
      { selectedOption: '0-0-1' },
      { selectedOption: '0-0-2' }
    ], [
      { selectedOption: '0-1-0' },
      { selectedOption: '0-1-1' },
      { selectedOption: '0-1-2' }
    ]
  ], [
    [
      { selectedOption: '1-0-0' },
      { selectedOption: '1-0-1' },
      { selectedOption: '1-0-2' }
    ], [
      { selectedOption: '1-1-0' },
      { selectedOption: '1-1-1' },
      { selectedOption: '1-1-2' }
    ]
  ]
];