LUA: Как проверить, есть ли в массиве определенное значение?

auroravenit

Известный
Автор темы
28
1
Версия MoonLoader
.026-beta
Какие проверить есть ли в массиве определенное значение?
 
Решение
Какие проверить есть ли в массиве определенное значение?
Lua:
function check_table(arg, table, mode)
    if mode == 1 then -- Если нужен поиск по ключу
        for k, v in pairs(table) do
            if k == arg then
                return true
            end
        end
    else -- Если нужен поиск по значению
        for k, v in pairs(table) do
            if v == arg then
                return true
            end
        end
    end
    return false
end
Пример:
Lua:
local blue = {
    [1] = 'Bye',
    [2] = 'Hello'
}

local red = {
    ['First'] = 'Bye',
    ['Second'] = 'Hello'
}

-- Проверка ключа:
if check_table('First', red, 1) then -- 1 аргумент - Слово для поиска, 2 аргумент - Твоя таблица, 3 аргумент - режим...

Rice.

Известный
Модератор
1,756
1,623
Какие проверить есть ли в массиве определенное значение?
Lua:
function check_table(arg, table, mode)
    if mode == 1 then -- Если нужен поиск по ключу
        for k, v in pairs(table) do
            if k == arg then
                return true
            end
        end
    else -- Если нужен поиск по значению
        for k, v in pairs(table) do
            if v == arg then
                return true
            end
        end
    end
    return false
end
Пример:
Lua:
local blue = {
    [1] = 'Bye',
    [2] = 'Hello'
}

local red = {
    ['First'] = 'Bye',
    ['Second'] = 'Hello'
}

-- Проверка ключа:
if check_table('First', red, 1) then -- 1 аргумент - Слово для поиска, 2 аргумент - Твоя таблица, 3 аргумент - режим.
    print('Найден ключ!')
end

-- Проверка значения:
if check_table('Hello', blue, 2) then -- 1 аргумент - Слово для поиска, 2 аргумент - Твоя таблица, 3 аргумент - Режим.
    print('Найдено значение!')
end
 
  • Нравится
Реакции: purpleee и auroravenit