如何使用参数创建数组

时间:2014-04-15 11:26:22

标签: javascript

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的数组。我创建的是正确的吗?请帮我解决这个问题。

1 个答案:

答案 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中的标准数组,它们只是具有特殊属性类的对象。