如何在Lua中融合数组

时间:2018-04-18 19:29:01

标签: arrays lua

如何将两个数组融合为一个:

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}

3 个答案:

答案 0 :(得分: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 :(得分:1)

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

答案 2 :(得分: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