lua sort

本文介绍了一种使用Lua语言对表格按值排序的方法。通过创建一个辅助数组并利用table.sort函数来实现对表格值的间接排序,进而使得可以方便地根据表格中的数值对学生名单进行排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

names = {"Peter", "Paul", "Mary"}
grades = {Mary = 10, Paul = 7, Peter = 8}
--n1和n2是指name中的成员 
table.sort(names, function (n1, n2)
	return grades[n1] < grades[n2]  -- compare the grades
end)
for i,v in pairs(names) do
	print (i,v)
end

输出结果:

1   Paul
2   Peter
3   Mary

table.sort里面的function指的是第一个参数table的排序对象,这个函数只有table是数组的时候才适用。
group_page = function(table)
	local key_table = {};
	for key ,_ in pairs(table) do 
		table.insert(key_table,key);
	end
	table.sort(key_table);
	return key_table;	
end	
可以通过以上的函数对key进行排序,之后通过key可以顺序访问table的v。因为table.sort只能对数组的value排序,所以一个变通的方法就是生成一个数组的table,将key保存到这个数组中。对数组排序。。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值