按名称统计嵌套表中的元素

我有如下所示的表格

raids = {
    {
        T1I0 = {
            {'Sargaras之力石', 'Sargaras之力石\n\n通过副本获取。 GL'}
        },
        T1I1 = {
            {'Elune的祝福之宝石', 'test'}
        },
        T1I2 = {
            {'Amanthel的生命之珠', 'test'}
        },
        T2I0 = {
            {'炼妖壶', 'test'}
        },
        T2I1 = {
            {'女娲石', 'test'}
        }
    }
}

我已经通过下面的函数计算了 T1I0 -> T2I1 共5个元素的数量,结合 tablelength(raids[1])

function tablelength(T)
  local count = 0
  for _ in pairs(T) do count = count + 1 end
  return count
end

但我在计算以 T1 开头的元素数量时遇到了一些问题,只返回 3

有没有人有办法修改最后一部分?

点赞
用户107090
用户107090

尝试使用以下代码:

  for k in pairs(T) do if k:sub(1,2)=="T1" then count = count + 1 end end

然而,考虑将表格重新结构化为两层,第一层具有键T1T2。在此之后,您想要的计数简单地是#raids.T1

2020-04-03 12:49:18