我正在尝试使用下面编写的PHP代码以java-script形式复制2d数组生成,由于无法从javascript中获得预期的结果,我感到有些误解。帮助我找出我做错的地方以及我的误解是什么。
PHP代码
<?php
$checkArray = array();
for($m=0; $m<3; $m++){
for($n=0; $n<4; $n++ )
{
$checkArray[$m][$n] = "Inside_ ".$m." is ".$n;
}
}
var_dump($checkArray);
?>
JAVASCRIPT代码
<!DOCTYPE html>
<html lang="en">
<head>
<script>
function ArrayFunction(){
var checkArray = [];
for(var m=0; m<3; m++){
checkArray[m] = [];
for(var n=0; n<4; n++){
checkArray[m][n] = "Inside " +m+ " is " + n ;
}
}
for(var i = 0; i < checkArray.length; i++)
console.log(checkArray[i]);
}
</script>
</head>
<body>
The content of the document......
<input id="clickMe" type="button" value="clickme" onclick="ArrayFunction();" />
</body>
</html>
在@sifriday建议之后,我将数组初始化移到了内部循环之外,
更新的问题:但是为什么我们每次需要扩展维度时都必须初始化它(与php不同)
将内部数组的初始化移到for循环之外,应该可以修复它。否则,您每次都会对其进行重置。像这样:
function ArrayFunction(){
var checkArray = [];
for(var m=0; m<3; m++){
// Move this to here!
checkArray[m] = [];
for(var n=0; n<4; n++){
checkArray[m][n] = "Inside " +m+ " is " + n ;
}
}
for(var i = 0; i < checkArray.length; i++)
console.log(checkArray[i]);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句