如何在Lua中融合阵列

问题描述 投票:0回答:3

如何将两个数组合并为一个如下:

local array1 = {2272, 2271, 2270, 2269}
local array2 = {2267, 2266, 2268, 2265, 2264, 2263, 2262, 2261}
local fusedArray = {2272, 2271, 2270, 2269, 2267, 2266, 2268, 2265, 2264, 2263, 2262, 2261}

要么

local array1 = {2292, 2291, 2290, 2289}
local array2 = {2267, 2266, 2268, 2265, 2264, 2263, 2262, 2261}
local fusedArray = {2292, 2291, 2290, 2289, 2267, 2266, 2268, 2265, 2264, 2263, 2262, 2261}
arrays lua
3个回答
4
投票

标准库可以帮助解决这个问题:

local function concatArray(a, b)
  local result = {table.unpack(a)}
  table.move(b, 1, #b, #result + 1, result)
  return result
end

请参阅文档中的table.movetable.unpack


1
投票

您将必须迭代两个表(使用ipairspairs函数)并将元素插入第三个表。如果您可以修改其中一个,则只迭代另一个表并将其元素插入第一个表中。


0
投票

只需复制一切:

local fusedArray = {}
local n=0
for k,v in ipairs(array1) do n=n+1 ; fusedArray[n] = v end
for k,v in ipairs(array2) do n=n+1 ; fusedArray[n] = v end
© www.soinside.com 2019 - 2024. All rights reserved.