在對表做刪除操作時,發現table.remove(table,idx)這個方法是根據table中的索引進行刪除操作,而現在的需求是根據value值進行刪除操作,在quick-x中也有相應的table方法封裝:
1.根據table中的value值進行刪除操作
-- table中刪除指定元素(非根據索引) -- @param array 要操作的容器 -- @param value 刪除value值 -- @param removeadll 是否刪除所有相同的值 -- @return 返回刪除值的個數 function removebyvalue(array, value, removeadll) -- deleteNum用於接收/返回刪除個數; i/max 構成控制while循環 local deleteNum,i,max=0,1,#array while i<=max do if array[i] == value then -- 通過索引操作表的刪除元素 table.remove(array,i) -- 標記刪除次數 deleteNum = deleteNum+1 i = i-1 -- 控制while循環操作 max = max-1 -- 判斷是否刪除所有相同的value值 if not removeadll then break end end i= i+1 end -- 返回刪除次數 return deleteNum end