Lua表数据中移除某项时一些值的问题

在 k,v pairs(x)中Remove一个数据

    table.insert(x,"aaa")
    table.insert(x,"bbb")
    table.insert(x,"ccc")

    for i,v in pairs(x) do       
      if i == 2 then
        --x[i] = nil
        table.remove(x,2)
      end
      print(x[i])
    end

结果aaa ccc

置空一个数据

    table.insert(x,"aaa")
    table.insert(x,"bbb")
    table.insert(x,"ccc")

    for i,v in pairs(x) do       
      if i == 2 then
        x[i] = nil
      end
      print(x[i])
    end

结果 aaa nil ccc

 

使用for i,#x do置空一个数据

    local x = {}
    table.insert(x,"aaa")
    table.insert(x,"bbb")
    table.insert(x,"ccc")
    for i = 1 ,#x do
        if i == 2 then
            x[i] = nil
        end
        print(x[i])
    end

结果 aaa nil ccc

 使用for i,#x do移除一个数据

local x = {}
    table.insert(x,"aaa")
    table.insert(x,"bbb")
    table.insert(x,"ccc")
    for i = 1 ,#x do
        if i == 2 then
            table.remove(x,2)
        end
        print(x[i])
    end

结果 aaa ccc nil

 

posted @ 2018-01-13 00:58  威少小二orz  阅读(920)  评论(0编辑  收藏  举报