LUA 计算表格内的条目数

我想要统计我表格里有多少个重复的,所以如果我有一个表格:

funnyTable = { 面包,自行车,笔记本电脑,面包,灯泡,自行车,面包 }

我需要它显示为:

sortedTable = { 面包 = 3, 自行车 = 2, 笔记本电脑 = 1, 灯泡 = 1 }

有人有解决这个问题的方案吗?

点赞
用户7506861
用户7506861

这是通过另一个表实现的:

local funnyTable = { 1, 2, 3, 3 }
local occurrences = {}

for _,v in pairs(funnyTable) do
    if not occurrences[v] then
        -- 这是一个新的元素,插入计数为 0。
        occurrences[v] = 0
    end

    occurrences[v] = occurrences[v] + 1
end

如预期一样,这将输出 { [1] = 1, [2] = 1, [3] = 2 }

2019-11-30 19:06:05