增:
方法一:直接赋值
local t = {} -- 创建一个空表
-- 添加键值对
t["name"] = "Lua" -- 添加字符串键
t[1] = "Hello" -- 添加数字键
print(t["name"]) -- 输出: Lua
print(t[1]) -- 输出: Hello
方法二:使用table.insert
local t = {"a", "b", "c"}
-- 在末尾插入
table.insert(t, "d") -- t 变为 {"a", "b", "c", "d"}
-- 在指定位置插入
table.insert(t, 2, "x") -- t 变为 {"a", "x", "b", "c", "d"}
print(table.concat(t, ", ")) -- 输出: a, x, b, c, d
方法三:使用 #
运算符
local t = {"a", "b", "c"}
t[#t + 1] = "d" -- 在末尾插入 "d" 注意这里的#t仅仅是统计整数下标的元素个数
print(table.concat(t, ", ")) -- 输出: a, b, c, d
删:
方法一:直接设置为nil
local t = {a = 1, b = 2, c = 3}
-- 删除键为 "b" 的元素
t["b"] = nil
print(t["b"]) -- 输出: nil
方法二:使用remove函数
local t = {"a", "b", "c", "d"}
-- 删除最后一个元素
table.remove(t) -- t 变为 {"a", "b", "c"}
-- 删除指定位置的元素
table.remove(t, 2) -- t 变为 {"a", "c"}
print(table.concat(t, ", ")) -- 输出: a, c
改:
方法一:修改键值对
local t = {a = 1, b = 2, c = 3}
-- 修改键为 "a" 的值
t["a"] = 100
-- 修改键为 "b" 的值
t.b = 200
print(t["a"]) -- 输出: 100
print(t.b) -- 输出: 200
方法二:嵌套表修改
local t = {
a = {1, 2, 3},
b = {x = 10, y = 20}
}
-- 修改嵌套表中的值
t["a"][2] = 100 -- 修改 t.a 的第二个元素
t.b.y = 200 -- 修改 t.b 的键为 "y" 的值
print(t.a[2]) -- 输出: 100
print(t.b.y) -- 输出: 200