JS数组,如果var = 0则不要推送

问题描述 投票:0回答:1

[我正在尝试为游戏“ Ogame”编写脚本,我正在寻找有关javascript数组的帮助,这不是我的事,我承认。

// Civil ships
    var TransporterSmall = 0; // Petit Transporteur
    var TransporterLarge = 1500; // Grand Transporteur
    var ColonyShip = 0; // Vaisseau de Colonisation
    var Recycler = 0; // Recycleur
    var Probe = 1; // Sonde

// Battle ships
    var FighterLight = 0; // Chasseur Léger
    var FighterHeavy = 0; // Chasseur Lourd
    var Cruiser = 0; // Croiseur
    var Battleship = 0; // Vaisseau de Bataille
    var Interceptor = 0; // Traqueur
    var Bomber = 0; // Bombardier
    var Destroyer = 1; // Destructeur
    var Deathstar = 0; // EDLM
    var Reaper = 1; // Faucheur
    var Explorer = 1; // Eclaireur

这里是玩家手动为每艘飞船设置编号的代码。

然后他有一个按钮,当他单击它时,它将按一个数组。但是我想,如果var = 0,则不会推送(非常重要)

document.getElementById('AutoSelect').onclick = function() {
        fleetDispatcher.shipsToSend = []; // Empty array
        fleetDispatcher.shipsToSend.push(
            {id:202,number: TransporterSmall},
            {id:203,number: TransporterLarge},
            {id:208,number: ColonyShip},
            {id:209,number: Recycler},
            {id:210,number: Probe},
            {id:204,number: FighterLight},
            {id:205,number: FighterHeavy},
            {id:206,number: Cruiser},
            {id:207,number: Battleship},
            {id:215,number: Interceptor},
            {id:211,number: Bomber},
            {id:213,number: Destroyer},
            {id:214,number: Deathstar},
            {id:218,number: Reaper},
            {id:219,number: Explorer});
        fleetDispatcher.refresh();
    };

我不知道该如何诚实地进行,这全都让我困惑。希望你能帮助我,谢谢!

javascript arrays push
1个回答
0
投票

在推送之前,您需要检查var值是否不是(0, "", undefined, null, false)

document.getElementById('AutoSelect').onclick = function() {

  fleetDispatcher.shipsToSend = []; // Empty array

  if (TransporterSmall) fleetDispatcher.shipsToSend.push({id:202,number: TransporterSmall});
  if (TransporterLarge) fleetDispatcher.shipsToSend.push({id:203,number: TransporterLarge});
  if (ColonyShip)   fleetDispatcher.shipsToSend.push({id:208,number: ColonyShip});
  if (Recycler)     fleetDispatcher.shipsToSend.push({id:209,number: Recycler});
  if (Probe)        fleetDispatcher.shipsToSend.push({id:210,number: Probe});
  if (FighterLight) fleetDispatcher.shipsToSend.push({id:204,number: FighterLight});
  if (FighterHeavy) fleetDispatcher.shipsToSend.push({id:205,number: FighterHeavy});
  if (Cruiser)      fleetDispatcher.shipsToSend.push({id:206,number: Cruiser});
  if (Battleship)   fleetDispatcher.shipsToSend.push({id:207,number: Battleship});
  if (Interceptor)  fleetDispatcher.shipsToSend.push({id:215,number: Interceptor});
  if (Bomber)       fleetDispatcher.shipsToSend.push({id:211,number: Bomber});
  if (Destroyer)    fleetDispatcher.shipsToSend.push({id:213,number: Destroyer});
  if (Deathstar)    fleetDispatcher.shipsToSend.push({id:214,number: Deathstar});
  if (Reaper)       fleetDispatcher.shipsToSend.push({id:218,number: Reaper});
  if (Explorer)     fleetDispatcher.shipsToSend.push({id:219,number: Explorer});

  fleetDispatcher.refresh();

};
© www.soinside.com 2019 - 2024. All rights reserved.