这个长矩阵可以在代码中分成多行吗?

Can this long matrix be split into multiple lines in the code?

本文关键字:代码      更新时间:2023-09-26

我知道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});

我的主管喜欢看到包含在一个页面上的代码,而不必滚动来查看冗长的行。

当然可以…你也可以按你喜欢的方式拆分它,只要你不在字符串中间拆分。

$('#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
     }
);

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
  }
);

可能是这样的:

$('#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});

您可以使用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
});