【懒人精灵】反转数组的两种方法,将table内容进行反转

在Lua中,可以使用以下几种方法来反转数组。

方法一

-- 反转数组函数
function table.reverse(t)
    local reversed = {}
    local itemCount = #t

    -- 从后向前遍历原数组,将元素添加到新数组中
    for i = itemCount, 1, -1 do
        table.insert(reversed, t[i])
    end

    return reversed
end

-- 示例数组
local originalArray = {1, 2, 3}

-- 反转数组
local reversedArray = table.reverse(originalArray)

-- 打印结果
print("原始数组:")
for i, v in ipairs(originalArray) do
    print(i .. " ==> " .. v)
end

print("\n反转后的数组:")
for i, v in ipairs(reversedArray) do
    print(i .. " ==> " .. v)
end

方法二

如果你想在原数组上直接反转(不创建新数组),可以使用以下函数:

-- 原地反转数组函数
function table.reverseInPlace(t)
    local itemCount = #t
    local mid = math.floor(itemCount / 2)

    -- 交换对称位置的元素
    for i = 1, mid do
        t[i], t[itemCount - i + 1] = t[itemCount - i + 1], t[i]
    end

    return t
end

-- 示例数组
local array = {1, 2, 3}

-- 原地反转数组
table.reverseInPlace(array)

-- 打印结果
print("原地反转后的数组:")
for i, v in ipairs(array) do
    print(i .. " ==> " .. v)
end

这两种方法都可以实现数组反转,第一种方法会创建一个新的反转后的数组,而第二种方法会直接在原数组上进行反转操作。根据你的需求选择合适的方法。

1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520飞云脚本圈
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】反转数组的两种方法,将table内容进行反转

企业级大数据智能营销管理系统

源码转让