首页 > 解决方案 > 按字母顺序排序表

问题描述

我是 lua 的新手,只想修改现有的脚本。

有一个函数可以在列表中写入值。我想按名称对它们进行排序:

function display_moments()
  local counter = 1
  if(moments[media_name]~=nill) then
    moments_list = main_layout:add_list(1,4,4,1) -- empty moments_list widget to prevent duplicate entries
    for i,j in pairs(moments[media_name]) do
      moments_list:add_value(i,counter)
      counter = counter + 1
    end
  end
end

我有机会以任何方式对我的列表进行排序吗?

标签: sortinglualua-tablealphabetical-sort

解决方案


如果您的列表如下所示,则来自 Lua table.sort(参考手册)

local _list = {1,4,4,1}
print(unpack(_list)) -- 1, 4, 4, 1
table.sort(_list)
print(unpack(_list)) -- 1, 1, 4, 4

鉴于您的列表是一个数组,您可以在循环后添加以下行

table.sort(moments_list)

推荐阅读