推薦閱讀:
方法一用過lua的人都知道,lua的table中不允許存在相同的key,利用這個思想,我們可以將原始table(記作table1),用乙個新的table(記作table2)來存放,存放得時候將table1的value作為table2得key,將值賦為true,最後只需要遍歷table2,將其的key儲存在乙個新的table(記作table3)裡。
例如:原始table1=
local table1=
local table2={}
for key,val in pairs(table1) do
table2[val]=true
end
local table3={}
for key,val in pairs(table2) do
table.insert(table3,key)--將key插入到新的table,構成最終的結果
end
方法二local list=
local temp1 = clone(list)
local temp2 = clone(list)
for k1, v1 in ipairs(temp1) do
for k2, v2 in ipairs(temp2) do
if v1 == v2then
table.remove(temp1, k1)
table.remove(temp2, k1)
endend
end
拓展:移除table中資料裡具有某個相同欄位的資料,例如,table如下:需移除具有相同value相同的資料local list={}
list[1]=
list[2]=
list[3]=
list[4]=
利用方法二拓展本功能:
local list={}
list[1]=
list[2]=
list[3]=
list[4]=
local temp1 = clone(list)
local temp2 = clone(list)
for k1, v1 in ipairs(temp1) do
for k2, v2 in ipairs(temp2) do
--同種英雄同一星級的移除
if v1.id ~= v2.id and v1.value == v2.value and v1.sid == v2.sid then
table.remove(temp1, k1)
table.remove(temp2, k1)
endend
end
Lua語言之table表
table有兩種形式,陣列形式與鍵值對形式。一 table基本用法 1.table基本使用 初始化 table 表名 賦值 陣列形式 newtable 0 beijing 即同陣列一樣改變下標進行賦值 鍵值對形式 newtable2 xian shanxi 遍歷 陣列形式 for key,value...
Lua基礎學習 table表
table 是乙個 關聯陣列 在 lua 中可以用任意型別的值來作為陣列的索引,但是這個值不能是 nil,同樣也可以 用任意型別的值作為陣列的value,nil也可以。1 陣列的索引可以是數字或者是字串,所有索引值都需要用 和 括起來 如果是字串還可以去掉引號和中括號 但是數字下標不可以。注意 2 ...
Lua 列印table表內容
剛接觸lua時間不長,但是確實覺得lua的短小精悍,寫 的時候感覺非常的自由,最重要的是 不會稍不注意間就蹦出來個崩潰提示框。lua的table非常強大,如果說c語言說一切皆函式,c 說一切皆物件,那麼lua就是一切皆表,不準確也不接受反駁 哈哈 在進入標題內容之前,先來點前奏,大家也可以直接翻到最...