слегка измененный вариант ниже позволила мне отфильтровать уникальные значения поля из многомерной таблицы (dictionarry стиля)поиск дубликатов в многомерной таблице
[URL] http://rosettacode.org/wiki/Remove_duplicate_elements#Lua
items = {1,2,3,4,1,2,3,4,"bird","cat","dog","dog","bird"}`
flags = {}
io.write('Unique items are:')
for i=1,#items do
if not flags[items[i]] then
io.write(' ' .. items[i])
flags[items[i]] = true
end
end
io.write('\n')`
То, что я потерял, это то, что «если нет ... тогда ... конец» на самом деле. Для меня это глупо, но эй, это работает ;-) Теперь я хочу знать, что происходит под капотом.
Надеюсь, что многомерный никого не обидит, я имею в виду таблицу, состоящую из нескольких строк, содержащих несколько пар ключ-значение в каждой строке.
Вот код, я не буду использовать, не блестящие адаптации, но достаточно хорошо, чтобы отфильтровать уникальные значения на имя_поле
for i=1,#table,1 do
if not table2[table[i].fieldname] then
table2[table[i].fieldname] = true
end
end
for k,v in pairs(table2) do
print(k)
end
Возможно, вы отреагировали на свой вопрос с помощью редактирования. Пожалуйста, сделайте ответ и примите его. –
Не используйте 'table' как имя переменной. – hjpotter92
@ hjpotter92 Я использую таблицу, чтобы проиллюстрировать код, так как я делаю с именем поля –