function checkfutureMove($r,$c,$player1,$board) {
var moveArray = new Array($r,$c);//this is correct?
if(some condition is true)
{
return moveArray; // it should return $r and $c
}
}
我需要创建一个返回$ r和$ c的数组。我创建的是正确的吗?请帮我解决这个问题。
答案 0 :(得分:1)
从更新的问题:
我需要创建一个返回$ r和$ c的数组。
如果你的意思是一个包含两个条目的数组($r
的值和$c
的值),那么是的,这是有效的,尽管通常这更清楚:
var moveArray = [$r, $c];
来自原始问题:
我需要创建具有$ r和$ c的二维数组,用于行和列。
不,该代码会创建一个包含两个条目的一维数组。
JavaScript根本没有二维数组,它有数组数组。要创建它们,您必须编写一个循环:
function checkfutureMove($r,$c,$player1,$board) {
// Create the return array
var moveArray = [];
var n;
// Loop through adding entries to it
for (n = 0; n < $r; ++n) {
// Each entry is an array
moveArray[n] = [];
// This sets the length of the array (which still has no entries),
// which you may or may not want to do.
moveArray[n].length = $c;
}
// Return the result (or do something else with it)
return moveArray;
}
我之前关于length
的评论是因为JavaScript中的标准数组本质上是稀疏(它们的长度可能大于它们实际包含的条目数)。事实上,JavaScrript aren't really arrays at all中的标准数组,它们只是具有特殊属性类的对象。