我有一个键 => 值表,我想在 Lua 中排序。键都是整数,但不是连续的(并且有意义)。Lua 唯一的排序函数似乎是table.sort
,它将表视为简单数组,丢弃原始键及其与特定项目的关联。相反,我基本上希望能够使用PHP 的asort()
功能。
是)我有的:
items = {
[1004] = "foo",
[1234] = "bar",
[3188] = "baz",
[7007] = "quux",
}
排序操作后我想要的:
items = {
[1234] = "bar",
[3188] = "baz",
[1004] = "foo",
[7007] = "quux",
}
有任何想法吗?
编辑:根据答案,我将假设这只是我正在使用的特定嵌入式 Lua 解释器的一个奇怪的怪癖,但在我的所有测试中,pairs()
总是按照它们添加到的顺序返回表项桌子。(即上述两个声明会以不同的方式迭代)。
不幸的是,因为这不是正常行为,所以看起来我无法得到我需要的东西;Lua 没有内置(当然)必要的工具,而且嵌入式环境太有限,我无法解决它。
不过,谢谢大家的帮助!