Поиск dict в table

ca4tuk

Известный
Автор темы
166
44
Версия MoonLoader
.026-beta
прив!
есть table такого типа:
[{"тест2":"тест два","тест":"тест один"}]

каким образом можно проверить нахождение значения "тест" в этой таблице?
 

chapo

чопа сребдс // @moujeek
Модератор
8,934
11,701
Python:
t = [{"test2":"test two","test":"test one"}]

if 'test' in t[0]:
    print('ok!')
1663009137210.png
 

ca4tuk

Известный
Автор темы
166
44
Python:
t = [{"test2":"test two","test":"test one"}]

if 'test' in t[0]:
    print('ok!')
Посмотреть вложение 168360
мне на луа надо, ебана

суть я в принципе понял, и переделал, но если я чекаю подобную таблицу
test_table = {}
table.insert(test_table, {["тест"] = "тест один", ["тест2"] = "тест два"})
то получаю false

Lua:
function check(t, str)
    return (t[str] or false)
end

все, воркает

Lua:
function check(t, str)
    return (t[1][str] or false)
end

не воркает, я дебил
 
Последнее редактирование:

chapo

чопа сребдс // @moujeek
Модератор
8,934
11,701
мне на луа надо, ебана

суть я в принципе понял, и переделал, но если я чекаю подобную таблицу
test_table = {}
table.insert(test_table, {["тест"] = "тест один", ["тест2"] = "тест два"})
то получаю false

Lua:
function check(t, str)
    return (t[str] or false)
end

все, воркает

Lua:
function check(t, str)
    return (t[1][str] or false)
end

не воркает, я дебил
Lua:
local t = {
    {
       ["test2"] = "test two",
       ["test"] = "test one"
    }
}
print(t[1].test == nil)
1663012524755.png
 

ca4tuk

Известный
Автор темы
166
44
всм?

типо так?
Lua:
local isInList = function(key)
   return t[1][key] == nil
end
print(isInList('test'))
ну типа.
через 5 минут проверю и отвечу

всм?

типо так?
Lua:
local isInList = function(key)
   return t[1][key] == nil
end
print(isInList('test'))
Lua:
function isInList(t, key)

   return t[1][key] == nil

end

Lua:
local aye = {}
local test_text = "text"
table.insert(aye, {[test_text] = "text2"})
print(isInList(aye, text)) -- true, хотя оно есть в таблице
 
Последнее редактирование:

chapo

чопа сребдс // @moujeek
Модератор
8,934
11,701
ну типа.
через 5 минут проверю и отвечу


Lua:
function isInList(t, key)

   return t[1][key] == nil

end

Lua:
local aye = {}
local test_text = "text"
table.insert(aye, {[test_text] = "text2"})
print(isInList(aye, text)) -- true, хотя оно есть в таблице
Lua:
local isInList = function(t, key)
   return t[1][key] ~= nil
end
 
  • Нравится
Реакции: sizeoftrickster

Ulong

Диванный критик
Проверенный
63
362
чел......... у тебя js объект, а не таблица в обычном её представлении. либа cjson нужна
Код:
local json = require('cjson')
local js_array = '[{"тест2":"тест два","тест":"тест один"}]'
local normal_array = json.decode(js_array)
print(normal_array[1]["тест2"])
дальше сам разберешься?