如何从表格中删除一个数字?

我不知道为什么这不起作用。 当我按下按钮'MyButton'时,我想一次删除表格中的数字(randomCheck从表格中选择一个数字,我想删除该确切的数字)

math.randomseed(os.time())

_X = display.contentCenterX
_Y=display.contentCenterY

local numbers = {1,2,3,4,5,6,7,8,9,10}
local randomCheck =  numbers[ math.random( #numbers) ]
local text = display.newText(""..randomCheck.."",_X,_Y,"Helvetica",50)

function removeNumber()
    for i = 1, 10 do
        if(randomCheck == i ) then
            table.remove(numbers,i)
            text.text = (""..i.."")
        end
    end
end

myButton = display.newRect(_X,_Y+100,100,80 )
myButton:addEventListener("tap", removeNumber)
点赞
用户33252
用户33252

在你的循环中,不要使用

if(randomCheck == i)

而要使用

if(randomCheck == numbers[i])

但是,所有的这些工作都是不必要的。

不要使用

local randomCheck =  numbers[math.random( #numbers)]

而要使用

local randomIndex =  math.random(#numbers)
local randomCheck =  numbers[randomIndex]

然后你可以直接使用

table.remove(numbers, randomIndex)
2018-05-04 15:39:19