# HG changeset patch # User Kim Alvefur # Date 1490974148 -7200 # Node ID ec7cab8e744d12c26f44609c70b22e8eda0e7650 # Parent 9546c629289b8852c2d8553798733ecca754c560 util.array: Add method for filtering out duplicate values diff -r 9546c629289b -r ec7cab8e744d util/array.lua --- a/util/array.lua Wed Mar 29 22:38:31 2017 +0200 +++ b/util/array.lua Fri Mar 31 17:29:08 2017 +0200 @@ -92,6 +92,18 @@ return outa; end +function array_base.unique(outa, ina) + local seen = {}; + return array_base.filter(outa, ina, function (item) + if seen[item] then + return false; + else + seen[item] = true; + return true; + end + end); +end + function array_base.pluck(outa, ina, key) for i = 1, #ina do outa[i] = ina[i][key];