playerElement = {
{ itemName="Ammo clip", value="30" },
{ itemName="Ammo clip", value="30" },
{ itemName="Ammo clip", value="30" },
}
如何检索表格中的第一项(当所有项目值相等时),如果不是具有最低值的项目,那么我可以用1来减去它?
答案 0 :(得分:1)
根据表的结构,您需要首先扫描整个表格。
local lowestIndex = 0;
local lowestValue = false;
for k, v in ipairs(playerElement) do
if not lowestValue or v.value < lowestValue then
lowestIndex = k;
lowestValue = v;
end
end
playerElement[lowestIndex].value = lowestValue - 1;
P.S。我在旅途中打字,很抱歉任何语法错误。
答案 1 :(得分:1)
我开始学习Lua并使用underscore-lua库来解决您的问题。
local _ = require 'underscore'
-- here you define the playerElement table
-- playerElement = {}
-- create table of values
local values = _.map(playerElement, function(t) return t.value end)
-- get max and min values
local max = _.max(values)
local min = _.min(values)
-- get first item when all the values are equal, if not the item with the lowest value
if max == min then
return playerElement[1]
else
return _.findWhere(playerElement, {value=tostring(min)})
end