Javascript: 访问多维数组

Javascript: accessing multidimensional arrays

我正在尝试使用代码从现有数组创建一组新数组:

var stock = new Array()
    for (i = 0; i < seOutput.length; i++) {
      stock[i] = new Array(seOutput[i][0], seOutput[i][1], seOutput[i][2], seOutput[i][3], seOutput[i][4])      
}

如果我 console.log(seOutput); 我看到这个:

Array
(
  [0] => Array
      (
          [0] => Blue
          [1] => Yes
          [2] => No
          [3] => Yes
          [4] => Yes
      )

  [1] => Array
      (
          [0] => Red
          [1] => No
          [2] => No
          [3] => No
          [4] => Yes
      )

这在我的脑海中是合乎逻辑的,其中代码 seOutput[0][0] 等于 Blue,但这不是我的 console.log(seOutput[0][0] 语句中返回的内容。对于语句 console.log(seOutput[0])console.log(seOutput[0][0]) 我得到 A (单词 Array 中的第一个字母)。

访问这个数组的正确方法是什么?

为了提供更多细节,seOutput 是从我对 .php 页面的 ajax 成功调用生成的,其中最后一段代码是:

foreach ($json['Result']['Data']['Type'] as $i) {

  $y = "{$i['Color']},{$i['Object']},{$i['Crs']},{$i['CrsX']},{$i['CrsB']}"; 
  $x = explode("," , $y);
  array_push($output, $x);
}

然后

print_r($output);

和我的 ajax 代码:

$.ajax({
              url: "seSearch.php", 
              type: "post",                  
              data: {partNumber: q , c:c},
              success: function(data) {

                  var seOutput = data;
  }
});

从中生成的是我在上面粘贴的 "array"。为什么 ajax 将其转换为我不知道的字符串....

我认为您将字符串分配给 seOutput(包含数组字符串表示形式)而不是真正的数组。因此您可以正确访问它但没有数组。 尝试打印 typeof(seOutput) 来检查它。