淺析Lua中table的遍歷和刪除(轉)
阿新 • • 發佈:2019-01-27
- forkey, value in pairs(tbtest) do
- XXX
- end
- forkey, value in ipairs(tbtest) do
- XXX
- end
- for i=1, #(tbtest) do
- XXX
- end
- for i=1, table.maxn(tbtest) do
- XXX
- end
- tbtest = {
- [1] = 1,
- [2] = 2,
- [3] = 3,
- [4] = 4,
- }
- forkey, value in pairs(tbtest) do
- print(value)
- end
- tbtest = {
- [1] = 1,
- [2] = 2,
- [3] = 3,
- [5] = 5,
- }
- for k,v in ipairs(tbtest) do
- print(v)
- end
- local tbtest = {
- [2] = 2,
- [3] = 3,
- [5] = 5,
- }
- for k,v in ipairs(tbtest) do
- print(v)
- end
- tbtest = {
- [1] = 1,
- [2] = 2,
- [3] = 3,
- }
- print(#(tbtest))
- tbtest = {
- [1] = 1,
- [2] = 2,
- [6] = 6,
- }
- print(#(tbtest))
- tbtest = {
- ["a"] = 1,
- [2] = 2,
- [3] = 3,
- }
- print(#(tbtest))
- tbtest = {
- [“a”] = 1,
- [“b”] = 2,
- [“c”] = 3,
- }
- print(#(tbtest))
- tbtest = {
- [1] = 1,
- [2] = 2,
- [3] = 3,
- }
- print(table.maxn(tbtest))
- tbtest = {
- [6] = 6,
- [1] = 1,
- [2] = 2,
- }
- print(table.maxn(tbtest))
- tbtest = {
- ["a"] = 1,
- [2] = 2,
- [3] = 3,
- }
- print(table.maxn(tbtest))
- tbtest = {
- [“a”] = 1,
- [“b”] = 2,
- [“c”] = 3,
- }
- print(table.maxn(tbtest))
- print(#(tbtest))
- tbtest = {
- [1] = 1,
- [2] = 2,
- [3] = 3,
- ["a"] = 4,
- ["b"] = 5,
- }
- tbtest = {
- tbaaa = {
- [1] = 1,
- [2] = 2,
- [3] = 3,
- },
- ["a"] = 4,
- ["b"] = 5,
- }
- for k, v in pairs(tbtest) do
- print(k, v)
- end
- for k, v in ipairs(tbtest) do
- print(k,v)
- end
- tbtest = {
- [1] = 1,
- [10000] = 2,
- }
- localcount = 0
- for i=1, table.maxn(tbtest) do
- count = count + 1
- print(tbtest[i])
- end
- print(count)
- for k, v in pairs(tbtest) do
- for k, v in ipairs(tbtest) do
- tbtestAward = {
- [8] = 1,
- [16] = 3,
- }
- function GetAward(nSeq)
- for 遍歷整個獎勵表 do
- if 滿足key的條件 then
- return 返回對應獎勵的key
- end
- end
- return nil
- end
- for i=1, table.maxn(tbtestAward) do
- if tbtestAward[i] ~= nil then
- if nSeq <= i then
- return i
- end
- end
- end
- function pairsByKeys(t)
- local a = {}
- for n in pairs(t) do
- a[#a+1] = n
- end
- table.sort(a)
- local i = 0
- returnfunction()
- i = i + 1
- return a[i], t[a[i]]
- end
- end
- forkey, value in pairsByKeys(tbtestAward) do
- if nSeq <= keythen
- returnkey
- end
- end
- tbtest = {
- [1] = 1,
- [2] = 2,
- [3] = 3,
- [5] = 5,
- }
- for i=1, #(tbtest) do
- print(tbtest[i])
- end
- tbtest = {
- [1] = 1,
- [2] = 2,
- [4] = 4,
- [5] = 5,
- }
- for i=1, #(tbtest) do
- print(tbtest[i])
- end