删除某些键后订购 table

ordering a table after removing certain keys

我有一个像这样的循环:

for i = 1, 50 do

制作一个盒子网格,然后我检查 aTable[i] 值是否为空,如果不是,我在盒子里放一些东西。

问题是,在 运行 这个循环之前,我循环遍历一个表,如果值为 X,我会:

anotherTable[ i ] = anotherTable[ i ] + 1;
aTable[ i ] = nil;

所以这个问题是我的 aTable 可能看起来像:

1:
        1   =   y
2:
        1   =   y
3:
        1   =   y
4:
        1   =   y
5:
        1   =   y
6:
        1   =   z
16:
        1   =   y

所以这里的键 7-15 的值为 X。

我应该如何将它们向下移动,使 16 变为 7?

ok 我刚做了第三个 table,遍历一个表,检查值是否不为零,插入第三个 table