Как зациклить действия, пока значения не будут совпадать?



  • Очень нужна помощь, пожалуйста:)
    У меня есть GET запрос для новых записей в контакте, в ответе приходит айди группы с новым постом, если нового поста нет, то айди повторяется, вопрос, как мне зациклить, чтобы когда появлялся новый айди цикл завершался и программа выполняла действия дальше?
    Айди записываю в переменные, например [[ID1]] , [[ID2]]

    Пытался сделать через WHILE, прописал [[ID1]] == [[ID2]]
    В самом цикле сделал такой же get запрос и записывал айди в [[ID1]]
    По идее, когда появляется новое айди в запросе, то [[ID1]] уже должно быть не равно [[ID2]], но все равно не выходит почему-то



  • @sergik76 , для переменных используют двойные скобки [[ID]]



  • @denanotherday ошибся здесь, в скрипте все ок)



  • @sergik76 said in Как зациклить действия, пока значения не будут совпадать?:

    Очень нужна помощь, пожалуйста:)
    У меня есть GET запрос для новых записей в контакте, в ответе приходит айди группы с новым постом, если нового поста нет, то айди повторяется, вопрос, как мне зациклить, чтобы когда появлялся новый айди цикл завершался и программа выполняла действия дальше?
    Айди записываю в переменные, например [[ID1]] , [[ID2]]

    Пытался сделать через WHILE, прописал [[ID1]] == [[ID2]]
    В самом цикле сделал такой же get запрос и записывал айди в [[ID1]]
    По идее, когда появляется новое айди в запросе, то [[ID1]] уже должно быть не равно [[ID2]], но все равно не выходит почему-то

    Ну по логике всё верно, прикладывайте скрипт



  • @fox заранее спасибо



  • @sergik76 said in Как зациклить действия, пока значения не будут совпадать?:

    @fox заранее спасибо
    0_1564238231710_vktest.xml

    Я не использую не официальные модули, и мне для проверки пришлось скачивать jpath. У вас тип данных в переменных [[ID1]] и [[ID2]] является массив:

    typeof([[ID1]]) //object
    typeof([[ID2]]) //object
    
    Array.isArray([[ID1]]) //true
    Array.isArray([[ID2]]) //true
    

    Сравнивайте значения первых элементов массива:

    [[ID1]][0] == [[ID2]][0] //true
    

    или смените тип:

    parseInt([[ID1]]) == parseInt([[ID2]]) //true
    

    ну или сравнивайте объекты строкой:

    JSON.stringify([[ID1]]) === JSON.stringify([[ID2]]) //true
    

    Кстати об этом писал @support создателю модуля:

    @support said in Модуль парсинга JSON:

    @oyasumi-punpun Спасибо, так лучше. Еще 1 момент, который меня волнует, отсутствия действия для получения единственного значения. Сейчас везде возвращается список.



  • @fox спасибо вам большое, все получилось


Log in to reply