可以用长度操作符#和table.getn()获取nil值索引的前一个索引值
比如说:
a = {} a[6] = 5 print(#a) --输出0 a[1] = 55 print(#a) --输出1
也就是说,#和getn()会从table的起始1开始逐步往下找,如果1不存在,那么认为table结束,返回1-1=0;如果1存在,往下找2,2不存在,那么就返回2-1 = 1。
所以,对于有序索引的table可以这样获取到长度,对于,东缺西缺的,这能遍历获取了。
i = 0 for k,v in pairs(a) do --a是table i = i+1 end print(i)