可以使用一个变量记录是否找到了匹配的键值对,避免遍历整个列表。同时可以使用表的索引方式修改对应键的值,避免再次遍历列表。

优化后代码如下:

Item={{key=aa,number=3},{key=bb,number=5},{key=aaa,number=51},{key=cs,number=13},{key=a1a,number=77},{key=add,number=31}} local tab={key=aaa,number=33}

local found = false for k,v in pairs(Item) do if v.key == tab.key then found = true Item[k].number = Item[k].number + tab.number break end end

if not found then table.insert(Item, tab) end

Item=key=aanumber=3key=bbnumber=5key=aaanumber=51key=csnumber=13key=a1anumber=77key=addnumber=31 local tab=key=aaanumber=33 local br for kv in pairsItem do if vkey = tabkey then br = k

原文地址: https://www.cveoy.top/t/topic/bnmH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录