我有一个数组,如下所示。我试图用JavaScript遍历这个二维数组,但它不是一个接一个地打印元素,而是一次打印整行。
下面是阵列:
array(7) {
[0]=>
array(1) {
[0]=>
array(5) {
[0]=>
array(2) {
[0]=>
float(76.8425202)
[1]=>
float(28.3976574)
}
[1]=>
array(2) {
[0]=>
float(76.8425202)
[1]=>
float(28.8793215)
}
[2]=>
array(2) {
[0]=>
float(77.3476518)
[1]=>
float(28.8793215)
}
[3]=>
array(2) {
[0]=>
float(77.3476518)
[1]=>
float(28.3976574)
}
[4]=>
array(2) {
[0]=>
float(76.8425202)
[1]=>
float(28.3976574)
}
}
}
[1]=>
array(1) {
[0]=>
array(5) {
[0]=>
array(2) {
[0]=>
float(76.8425202)
[1]=>
float(28.3976574)
}
[1]=>
array(2) {
[0]=>
float(76.8425202)
[1]=>
float(28.8793215)
}
[2]=>
array(2) {
[0]=>
float(77.3476518)
[1]=>
float(28.8793215)
}
[3]=>
array(2) {
[0]=>
float(77.3476518)
[1]=>
float(28.3976574)
}
[4]=>
array(2) {
[0]=>
float(76.8425202)
[1]=>
float(28.3976574)
}
}
}
[2]=>
array(1) {
[0]=>
array(5) {
[0]=>
array(2) {
[0]=>
float(76.8425202)
[1]=>
float(28.3976574)
}
[1]=>
array(2) {
[0]=>
float(76.8425202)
[1]=>
float(28.8793215)
}
[2]=>
array(2) {
[0]=>
float(77.3476518)
[1]=>
float(28.8793215)
}
[3]=>
array(2) {
[0]=>
float(77.3476518)
[1]=>
float(28.3976574)
}
[4]=>
array(2) {
[0]=>
float(76.8425202)
[1]=>
float(28.3976574)
}
}
}
[3]=>
array(1) {
[0]=>
array(5) {
[0]=>
array(2) {
[0]=>
float(77.18995)
[1]=>
float(28.5894774)
}
[1]=>
array(2) {
[0]=>
float(77.18995)
[1]=>
float(28.6315224)
}
[2]=>
array(2) {
[0]=>
float(77.2277674)
[1]=>
float(28.6315224)
}
[3]=>
array(2) {
[0]=>
float(77.2277674)
[1]=>
float(28.5894774)
}
[4]=>
array(2) {
[0]=>
float(77.18995)
[1]=>
float(28.5894774)
}
}
}
[4]=>
array(1) {
[0]=>
array(5) {
[0]=>
array(2) {
[0]=>
float(68.1061138)
[1]=>
float(6.7604429)
}
[1]=>
array(2) {
[0]=>
float(68.1061138)
[1]=>
float(37.07827)
}
[2]=>
array(2) {
[0]=>
float(97.4152924)
[1]=>
float(37.07827)
}
[3]=>
array(2) {
[0]=>
float(97.4152924)
[1]=>
float(6.7604429)
}
[4]=>
array(2) {
[0]=>
float(68.1061138)
[1]=>
float(6.7604429)
}
}
}
[5]=>
array(1) {
[0]=>
array(5) {
[0]=>
array(2) {
[0]=>
float(76.8425202)
[1]=>
float(28.3976574)
}
[1]=>
array(2) {
[0]=>
float(76.8425202)
[1]=>
float(28.8793215)
}
[2]=>
array(2) {
[0]=>
float(77.3476518)
[1]=>
float(28.8793215)
}
[3]=>
array(2) {
[0]=>
float(77.3476518)
[1]=>
float(28.3976574)
}
[4]=>
array(2) {
[0]=>
float(76.8425202)
[1]=>
float(28.3976574)
}
}
}
[6]=>
array(1) {
[0]=>
array(5) {
[0]=>
array(2) {
[0]=>
float(68.1061138)
[1]=>
float(6.7604429)
}
[1]=>
array(2) {
[0]=>
float(68.1061138)
[1]=>
float(37.07827)
}
[2]=>
array(2) {
[0]=>
float(97.4152924)
[1]=>
float(37.07827)
}
[3]=>
array(2) {
[0]=>
float(97.4152924)
[1]=>
float(6.7604429)
}
[4]=>
array(2) {
[0]=>
float(68.1061138)
[1]=>
float(6.7604429)
}
}
}
}
这是它的javascript代码。
<script type="text/javascript">
var Jarray = [[[[76.8425202,28.3976574],[76.8425202,28.8793215],[77.3476518,28.8793215],[77.3476518,28.3976574],[76.8425202,28.3976574]]],[[[76.8425202,28.3976574],[76.8425202,28.8793215],[77.3476518,28.8793215],[77.3476518,28.3976574],[76.8425202,28.3976574]]],[[[76.8425202,28.3976574],[76.8425202,28.8793215],[77.3476518,28.8793215],[77.3476518,28.3976574],[76.8425202,28.3976574]]],[[[77.18995,28.5894774],[77.18995,28.6315224],[77.2277674,28.6315224],[77.2277674,28.5894774],[77.18995,28.5894774]]],[[[68.1061138,6.7604429],[68.1061138,37.07827],[97.4152924,37.07827],[97.4152924,6.7604429],[68.1061138,6.7604429]]],[[[76.8425202,28.3976574],[76.8425202,28.8793215],[77.3476518,28.8793215],[77.3476518,28.3976574],[76.8425202,28.3976574]]],[[[68.1061138,6.7604429],[68.1061138,37.07827],[97.4152924,37.07827],[97.4152924,6.7604429],[68.1061138,6.7604429]]]];
console.log(Jarray.length);
for(var i = 0; i < Jarray.length; i++) {
var points = Jarray[i];
for(var j = 0; j < points.length; j++) {
console.log("Points[" + i + "][" + j + "] = " + points[j]);
}
}
</script>
我得到的输出是这样的:
Points[0][0] = 76.8425202,28.3976574,76.8425202,28.8793215,77.3476518,28.8793215,77.3476518,28.3976574,76.8425202,28.3976574
Points[1][0] = 76.8425202,28.3976574,76.8425202,28.8793215,77.3476518,28.8793215,77.3476518,28.3976574,76.8425202,28.3976574 and so on
是否可以像下面给出的那样一个接一个地打印阵列的元素:
76.8425202,28.3976574
76.8425202,28.8793215 and so on...
再进行一次for循环将完成
for(var i = 0; i < Jarray.length; i++) {
var points = Jarray[i];
for(var j = 0; j < points.length; j++) {
for(var k = 0; k < points[j].length; k++)
console.log(points[j][k][0] + "," + points[j][k][1]);
}
}
演示:JSBin
只需尝试更改行
var points = Jarray[i];
至
var points = Jarray[i][0];
实际原因是,您的点编组嵌套在数据结构的第二级上的单个元素数组中。