数组元素个数计算

Posted FromScratch

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组元素个数计算相关的知识,希望对你有一定的参考价值。

数组元素一定是从1开始的,顺序递增且不包含元素nil。只有这种情况才能正确的计算个数

数组与HASH并存,数组索引从1开始顺序递增,且值不能未Nil

 

local a1 = { 1, 2, 3 }

local a2 = { [1]=1,  [3]=2,  [5]=3,  [7]=4 }

local a3 = { [2]=3, [10]=2, [20]=2 }

local a4 = { 2, name=‘yuanbl‘, 3, age=25, 5, 9 }

local a5 = { name=‘yuanbl‘, age=25, sex=‘男‘}

local a6 = { 2, name=‘yuanbl‘, 3, age=25, 5, 9, hello=nil, 10 }

计算(# 或 table.getn())结果如下:

3

1

2

4

0

5

它是怎么做到的?

分析: table.getn(t) 和 #t 一样都是计算数组元素但不包括hash键值,并且数组元素一定是从1开始的,顺序递增且不包含元素nil。只有这种情况才能正确的计算个数,可知a1正确;再来分析a2,查找1成立,接着查找2,没有找到,结束查找,返回结果为1;a3不满足条件产生呵呵的结果;a4、a5、a6同理可分析。



作者:Uzero
链接:https://www.jianshu.com/p/e9f6d85b57b9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以上是关于数组元素个数计算的主要内容,如果未能解决你的问题,请参考以下文章

计算数组中每个数左边/右边第一个比其大/小的值

求一个PHP计算数组内元素的不同组合,请看案例

计算数组中重复元素的个数

二维数组元素个数的算法

js计算数组中某个元素重复出现的个数

c++中怎么获取数组中元素的个数