javascript中基于回合的游戏中的攻击序列

javascript中基于回合的游戏中的攻击序列,javascript,arrays,sorting,object,Javascript,Arrays,Sorting,Object,我试图用javascript制作一个回合制游戏,但是我在迭代玩家的单位时遇到了很多麻烦 1) 一个玩家可以有8个吃角子老虎机,所以我做了: this.army = [ { amount: 2000, name: 'monster', atk: 500, def: 600,

我试图用javascript制作一个回合制游戏,但是我在迭代玩家的单位时遇到了很多麻烦

1) 一个玩家可以有8个吃角子老虎机,所以我做了:

this.army = [
            {            
                amount: 2000,
                name:   'monster',           
                atk:    500,
                def:    600,
                spd:    10,
                hp:     500,
            },
            {
                amount: 1500,
                name:  'vampyre',
                atk:   700,
                def:   300,
                spd:   40,
                hp:    650,
            },
            {
                amount: 200,
                name:   'ghost',
                tier:   'frontline',
                atk:    500,
                def:    600,
                spd:    25,
                hp:     500,
            }
        ];
2) 敌人也有类似的东西。 3) 我确实使用以下方法创建了一个战斗队列(基于单位spd):

但这样一来,司令官的军令就和原来的安排不一样了。如何定义原始插槽索引以使用array.splice()函数删除死插槽

对不起,我的英语不好

battleFollowing = function(attacker, defender) {
    var armyList = attacker.army.concat(defender.army);
    var orderedList = armyList.sort( function(a, b) {
                        var a1 = a.spd, b1 = b.spd;
                        if (a1 === b1) return 0;
                        return a1 > b1 ? -1 : 1;
                    });
    return orderedList;
}