Lua的table类型的增删改查操作

增:

方法一:直接赋值

Lua 复制代码
local t = {}  -- 创建一个空表

-- 添加键值对
t["name"] = "Lua"  -- 添加字符串键
t[1] = "Hello"     -- 添加数字键

print(t["name"])  -- 输出: Lua
print(t[1])       -- 输出: Hello

方法二:使用**table.insert**

Lua 复制代码
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

方法三:使用 # 运算符

Lua 复制代码
local t = {"a", "b", "c"}

t[#t + 1] = "d"  -- 在末尾插入 "d" 注意这里的#t仅仅是统计整数下标的元素个数
print(table.concat(t, ", "))  -- 输出: a, b, c, d

删:

方法一:直接设置为nil

Lua 复制代码
local t = {a = 1, b = 2, c = 3}

-- 删除键为 "b" 的元素
t["b"] = nil

print(t["b"])  -- 输出: nil

方法二:使用remove函数

Lua 复制代码
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

改:

方法一:修改键值对

Lua 复制代码
local t = {a = 1, b = 2, c = 3}

-- 修改键为 "a" 的值
t["a"] = 100

-- 修改键为 "b" 的值
t.b = 200

print(t["a"])  -- 输出: 100
print(t.b)     -- 输出: 200

方法二:嵌套表修改

Lua 复制代码
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
相关推荐
KATA~1 分钟前
解决MyBatis-Plus枚举映射错误:No enum constant问题
java·数据库·mybatis
桃子酱紫君3 分钟前
华为配置篇-BGP实验
开发语言·华为·php
QTX1873015 分钟前
JavaScript 中的原型链与继承
开发语言·javascript·原型模式
xyliiiiiL17 分钟前
一文总结常见项目排查
java·服务器·数据库
shaoing19 分钟前
MySQL 错误 报错:Table ‘performance_schema.session_variables’ Doesn’t Exist
java·开发语言·数据库
The Future is mine1 小时前
Python计算经纬度两点之间距离
开发语言·python
Enti7c1 小时前
HTML5和CSS3的一些特性
开发语言·css3
腥臭腐朽的日子熠熠生辉1 小时前
解决maven失效问题(现象:maven中只有jdk的工具包,没有springboot的包)
java·spring boot·maven
爱吃巧克力的程序媛1 小时前
在 Qt 创建项目时,Qt Quick Application (Compat) 和 Qt Quick Application
开发语言·qt
ejinxian1 小时前
Spring AI Alibaba 快速开发生成式 Java AI 应用
java·人工智能·spring