首页 > 其他分享 >lua获取数组的长度

lua获取数组的长度

时间:2022-11-29 20:35:26浏览次数:38  
标签:nil tabletest print lua 数组 ------ 长度


获取数组的长度

对于一个数组我们通常可以使用#来获取其长度

tabletest = {1,2,3,5,7}

print(#tabletest) ------》5

使用这两种方法都能得到这个数组的长度,但是如果

tabletest = {1,2,nil,3,5,7}
print(#tabletest) ------》6

tabletest = {1,nil,3,nil}
print(#tabletest) ------》1

tabletest = {1,nil,2,nil,3,nil}
print(#tabletest) ------》3

tabletest = {1,nil,2,nil,3,nil,4,nil}
print(#tabletest) ------》1

结果显示并不是数组默认遇到nil便被判断为数组结束,并没有什么规律而言。所以不要用#来获取包含有nil的数组长度。

注意: 

不要在 lua 的 table 中使用 nil 值,如果一个元素要删除,直接 remove,不要用 nil 去代替

 

获取table的长度

对于table来说,如果他不是数组,我们使用#和table.getn是不能获取它的长度的

tabletest = {a=1,b=2,c=3,e=5,f=7}

print(#tabletest) ------》0

我们可以使用pairs来获取 

tabletest = {a=1,b=2,c=3,d=5,e=7}

local count=0
for k,v in pairs(tabletest) do
count = count + 1
end

print(count) ------》5

 

标签:nil,tabletest,print,lua,数组,------,长度
From: https://blog.51cto.com/u_6871414/5896979

相关文章

  • 自定义数组的方法
    <body><script>//自己定义数组扩展方法求和和最大值//console.dir(Array);//console.log(Array.prototype);//Array.prototyp......
  • 手写数组的方法
    <body><script>//map//Array.prototype.Mymap=function(callback){//letnewArr=[]////console.log(this);//arr[1,......
  • 给定一个长度为N的整数(N<=100),输出其逆序数。
    #include<stdio.h>#defineN100intmain(){ inti,j,n,t,a[N]; printf("请输入的数的个数小于100:\n"); scanf("%d",&n);//输入的数的个数  for(i=0;i<n;i++) scan......
  • 数据结构(5):数组
    上一回简单的说了一下队列两个常见的应用:层次遍历以及在计算机系统中的应用,这一回,我们来看一个大家都非常熟悉的数据结构:数组!数组的定义数组是由n(n≥1)个相同类型的数据元素......
  • 计算平均值。输入十个学生的考试成绩计算平均值。(数组实现))
    #include<stdio.h>#defineN10intmain(){ inti; doublea[N],sum=0.0; sum=0.0; printf("请输入成绩:\n"); for(i=0;i<N;i++) scanf("%lf",&a[i]); for(i=0......
  • QQ连连看棋盘数组找法:
    QQ连连看棋盘数组找法:1.  附加CE  2.  内存扫描选项----选择全部,数值类型:为字节(byte)3.  索定棋盘左上角第一个格子  搜索大......
  • 动态规划-最大子数组
    1.分而治之1.分开2.求合并的值4.比较左右的与合并,返回最大值2.动态规划1.求出以每个元素开头的最大数组。d[i]:以arr[i]开头的最大数组子问题:d[i+1]=d[i]+arr[i]若后面规模更......
  • day07_java_数组
    d07Java数组(p51-p59)1.什么是数组?数组就是一组数的集合。数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后顺序排列组合而成。......
  • JS数组方法汇总 array数组元素的添加和删除
    js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^vararr=newArray();arr[0]="aaa";arr[1]="bbb......
  • 【JS】379- 教你玩转数组 reduce
    reduce是数组迭代器(https://jrsinclair.com/articles/2017/javascript-without-loops/)里的瑞士军刀。它强大到您可以使用它去构建大多数其他数组迭代器方法,例如​​.map......