Можно ли разбить эту длинную матрицу на несколько строк в коде? - PullRequest
1 голос
/ 22 ноября 2011

Я знаю, что строки в JS можно разбить на несколько строк, но как насчет матрицы?

$('#map').gameMap({map:[[{"tile":"grass_0","object":""},{"tile":"grass_0","object":""},{"tile":"grass_3","object":""}],[{"tile":"grass_0","object":""},{"tile":"grass_3","object":""},{"tile":"grass_0","object":""}],[{"tile":"grass_1","object":""},{"tile":"grass_0","object":""},{"tile":"grass_2","object":""}]],xpos:-1,ypos:-1,mapsize:3});

Моим руководителям нравится видеть код, содержащийся на одной странице, без необходимости прокрутки для просмотра длинных строк.

Ответы [ 4 ]

3 голосов
/ 22 ноября 2011

Конечно, это может ... Вы можете разбить его, как вам нравится, если вы не разбиваете середину строки.

$('#map').gameMap(
      {map:[
         [
           {"tile":"grass_0","object":""},
           {"tile":"grass_0","object":""},
           {"tile":"grass_3","object":""}
         ],
         [
           {"tile":"grass_0","object":""},
           {"tile":"grass_3","object":""},
           {"tile":"grass_0","object":""}
         ],
         [
           {"tile":"grass_1","object":""},
           {"tile":"grass_0","object":""},
           {"tile":"grass_2","object":""}
         ]
     ],
     xpos:-1,
     ypos:-1,
     mapsize:3
     }
);
2 голосов
/ 22 ноября 2011

JavaScript не имеет матричной структуры данных.Здесь у вас есть объектный литерал ({ map : ... }), который содержит массив массивов объектных литералов.

Помимо этого, как указывали другие, вы, конечно, можете разбить его на несколько строк, что такжедает вам возможность добавить некоторые разумные отступы, которые значительно облегчат чтение и изменение в будущем.Лично я поклонник стиля запятой , который, я думаю, имеет как наибольшую читабельность, так и наименьший потенциал для (программистской) ошибки (то есть пропущенных запятых) наряду с выровненными двоеточиями (:) издоровая доза пробела:

$('#map').gameMap(
  { map     : [ [ { "tile" : "grass_0", "object" : "" }
                , { "tile" : "grass_0", "object" : "" }
                , { "tile" : "grass_3", "object" : "" }
                ]
              , [ { "tile" : "grass_0", "object" : "" }
                , { "tile" : "grass_3", "object" : "" }
                , { "tile" : "grass_0", "object" : "" }
                ]
              , [ /* and so on... */
                ]
              ]
  , xpos    : -1
  , ypos    : -1
  , mapsize :  3
  }
);
1 голос
/ 22 ноября 2011

Вы можете использовать jsfiddle , чтобы привести в порядок код JavaScript.Вот его вывод:

$('#map').gameMap({
    map: [[{
        "tile": "grass_0",
        "object": ""},
    {
        "tile": "grass_0",
        "object": ""},
    {
        "tile": "grass_3",
        "object": ""}], [{
        "tile": "grass_0",
        "object": ""},
    {
        "tile": "grass_3",
        "object": ""},
    {
        "tile": "grass_0",
        "object": ""}], [{
        "tile": "grass_1",
        "object": ""},
    {
        "tile": "grass_0",
        "object": ""},
    {
        "tile": "grass_2",
        "object": ""}]],
    xpos: -1,
    ypos: -1,
    mapsize: 3
});
1 голос
/ 22 ноября 2011

Возможно что-то вроде этого:

$('#map').gameMap({map:[[{"tile":"grass_0","object":""},
                         {"tile":"grass_0","object":""},
                         {"tile":"grass_3","object":""}],
                        [{"tile":"grass_0","object":""},
                         {"tile":"grass_3","object":""},
                         {"tile":"grass_0","object":""}],
                        [{"tile":"grass_1","object":""},
                         {"tile":"grass_0","object":""},
                         {"tile":"grass_2","object":""}]],
                   xpos:-1,
                   ypos:-1,
                   mapsize:3});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...