比較兩個table是否相同

yanghui01發表於2024-04-20
兩個列表是否相同
function IsTwoListValueSame(list1, list2)
    local cnt1 = #list1
    local cnt2 = #list2
    if cnt1 ~= cnt2 then return false end

    local tab = {}
    local sameCnt = 0
    for i=1,cnt1 do
        tab[list1[i]] = true
    end
    for i=1,cnt2 do
        if tab[list2[2]] then
            sameCnt = sameCnt + 1
        else
            return false
        end
    end
    local result = sameCnt == cnt1
    return result
end

兩個table是否相同
function IsTwoTableValueSame(tab1, tab2)
    local sameCnt = 0
    for k, v in pairs(tab2) do
        if tab1[k] ~= v then
            return false
        end
        sameCnt = sameCnt + 1
    end
    local cnt1 = 0
    for k, v in pairs(tab1) do
        cnt1 = cnt1 + 1
        if cnt1 > sameCnt then --tab1的元素比tab2多
            return false
        end
    end
    return true
end


相關文章