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)
来检查它。
我正在尝试使用代码从现有数组创建一组新数组:
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)
来检查它。