table常用工具函数 - 表用法

 table_ext.lua

复制代码
---如果table不为空则新建
function table.getEmptyTable(tb)
    if nil == tb or nil ~= next(tb) then
        return {}
    end
    return tb
end

function table.isEmpty(tb)
    return nil == tb or nil == next(tb)
end

function table.swap(tb, k1, k2)
    local temp = tb[k1]
    tb[k1] = tb[k2]
    tb[k2] = temp
end

function table.mergeTable(tb, mergeTb)
    local count = 0
    for k, v in pairs(mergeTb) do
        tb[k] = v
        count = count + 1
    end
    return tb, count
end
复制代码

查找

复制代码
function table.findItem(tb, item)
    for k, v in pairs(tb) do
        if v == item then
            return k, v
        end
    end
    return nil
end

function table.findMatch(tb, matchFunc)
    for k, v in pairs(tb) do
        if matchFunc(k, v) then
            return k, v
        end
    end
    return nil
end

function table.ipairsFindItem(tb, item)
    for i, v in ipairs(tb) do
        if v == item then
            return i, v
        end
    end
    return -1
end

function table.ipairsFindMatch(tb, matchFunc)
    for i, v in ipairs(tb) do
        if match(i, v) then
            return i, v
        end
    end
    return -1
end
复制代码

 

posted @   yanghui01  阅读(109)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示