【问题标题】:How to fuse array in Lua如何在 Lua 中融合数组
【发布时间】:2018-09-29 03:54:30
【问题描述】:

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

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


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      复制所有内容:

      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-10
        • 1970-01-01
        • 1970-01-01
        • 2021-11-20
        • 2020-01-23
        • 1970-01-01
        相关资源
        最近更新 更多