1

次のような関数内で配列を返そうとしています:

function loadMap(map) {
    if (map == 1) {
        return board = [][
[ 1, 1, 1, 1, 1, 1, 1, 190, 115, 1, 1, 1, 1, 1, 1, 2],
[ 190, 190, 190, 190, 190, 190, 190, 190, 13, 148, 148, 148, 148, 148, 121, 2],
[ 1, 520, 127, 127, 127, 127, 127, 13, 13, 148, 167, 167, 167, 148, 343, 1],
[ 1, 520, 127, 166, 166, 166, 127, 13, 13, 148, 167, 167, 167, 148, 343, 1],
[ 1, 520, 127, 166, 166, 166, 127, 13, 13, 148, 148, 148, 183, 148, 343, 1],
[ 1, 520, 364, 174, 127, 361, 127, 13, 13, 13, 13, 13, 13, 13, 13, 1],
[ 115, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 115],
[ 1, 514, 13, 13, 394, 343, 145, 220, 145, 145, 145, 13, 13, 13, 13, 1],
[ 1, 514, 13, 13, 343, 118, 145, 166, 166, 166, 145, 13, 13, 13, 13, 1],
[ 1, 514, 514, 13, 118, 118, 145, 166, 166, 166, 145, 13, 13, 13, 13, 1],
[ 1, 1, 1, 115, 1, 1, 145, 145, 145, 145, 145, 1, 1, 1, 1, 1]
];
    }
}

しかし、それは正しくありません。これを修正するにはどうすればよいですか?

4

2 に答える 2

5

関数内で戻り値に名前を付けず、呼び出し時に戻り値を変数に割り当てます。

[]配列リテラルの前にエクストラがあります。

function loadMap(map) {
  if (map == 1) {
    return [
      [ ... ],
      [ ... ],
      [ ... ],
      ...
    ];
  }
}

var board = loadMap(1);
于 2012-04-21T02:17:34.070 に答える
0
function loadMap(map) {
    if (map == 1) {
        return [
            [values],
            [values],
            [values]
        ]
    }
}

次のようにアクセスできますmap[x][y]

var map = loadMap(1);

map[1][1]; //190
于 2012-04-21T02:13:51.020 に答える