Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
2

How can i compare table elements among themselves?

Asked by 3 years ago
Edited 3 years ago

For example. i have a table

t = {Variant1 = 33, Variant2 = 1, Variant3 = 123, Variant4 = 33}

I need to find the key(s) with highest value(s). So, how can i compare it?

2 answers

Log in to vote
1
Answered by
rabbi99 714 Moderation Voter
3 years ago

This is how I always do it.

local highest = 0
local t = {Variant1 = 33, Variant2 = 1, Variant3 = 123, Variant4 = 33}

for i,v in pairs(t)do
    if v > highest then
        highest = v
    end
end

print(highest)
0
But what if i have 2 same highest? for example var1 = 2, var2 = 5, var3 = 5. I need to randomize the choose between same numbers. Gulgazar 65 — 3y
1
then you can add them to a table and then math.random(1,#Table Zero_Tsou 175 — 3y
Ad
Log in to vote
2
Answered by 3 years ago
Edited 3 years ago

This is the most(maybe) solution I can found:

local t ={1, 2, 3}

print(math.max(unpack(t)))

About the randomize, why you need to randomize it when it already the same?

0
Not sure if i need exactly this method, but seems it's useful in other situations, so i'll remember it, thank you! Gulgazar 65 — 3y

Answer this question