有没有直接能返回数组[表]元素的索引[key]的方法?
lua吧
全部回复
仅看楼主
level 1
如JS里 的arr.indexOf(),新手百度了一下午没找到,见怪莫怪

list = {'a','b','c','d'}如何获取"c"的顺序3?还是要自己遍历?

man = {
xiaoming = {age = 10, job = "student"}
xiaohong = {age = 11, job = "student"}
}这个怎么获取age = 11的xiaohong?
2014年04月19日 09点04分 1
level 11
遍历或是自己再弄个反向表
2014年04月20日 04点04分 5
level 8
可以明确地告诉你:没有
2014年04月20日 07点04分 6
level 13
数据库设计中经常需要为某一关键字段增加索引以提高查询效率。同理,你也不能指望一个单一的表能满足你全部需求。
以第一个问题为例,可以首先建立一个反向表,以后通过反向表即可快速查询。
方法:
devList = {}
for k,v in pairs(list) do
devList[v] = k
end
如此,可直接由devList.c查得其值为3。
缺点是要同时维护两个表,但是在大数据量的表中可以明显提高效率。
2014年04月20日 11点04分 7
非常感谢 高人也
2014年04月21日 15点04分
level 13
事实上,js、python 中的index函数也是遍历实现的,楼主如果不想用反向表或索引表之类的辅助算法,那完全可以自己写个简单的函数:
function table.index(tab,value)
local key
for k,v in pairs(tab) do
if v==value then
key = k
break
end
end
return key
end
2014年04月20日 12点04分 8
level 1
没有吧,自己写函数
2014年04月30日 02点04分 9
level 1
在java中很好获取啊。
2016年08月17日 14点08分 10
1