Lua實戰之table.remove

Description

local tbl1 = {1, 2, 2, 3, 3, 3, 4, 5, 5, 5, 6}

local tbl2 = {1, 2, 3, 3, 5, 6}

刪除tbl1中存在於tbl2中的元素,使刪除之後tbl1的值爲:{2, 3, 4, 5, 5}

Implemention

local LogManager = require("LogManager")

local tbl1 = {1, 2, 2, 3, 3, 3, 4, 5, 5, 5, 6}
local tbl2 = {1, 2, 3, 3, 5, 6}

for _, v in pairs(tbl2) do
    for i = #tbl1, 1, -1 do  -- 倒着刪
        if v == tbl1[i] then
            table.remove(tbl1, i)
            break  -- 跳出內層循環
        end
    end
end

LogManager:dump(tbl1, "tbl1")

--[[
- "tbl1" = {
-     1 = 2
-     2 = 3
-     3 = 4
-     4 = 5
-     5 = 5
- }
]]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章