Индекс элемента массива из переменной



  • Понадобилось в vk api, но может пригодится где угодно
    Получаю нужные id записей, и разбиваю на переменные по элементам списка.

    VAR_ID_0 = VAR_SCAN_RESULT_LIST[0]
    VAR_ID_1 = VAR_SCAN_RESULT_LIST[1]
    VAR_ID_2 = VAR_SCAN_RESULT_LIST[2]
    

    И использую три экшена получить записи get-запросом

    https://api.vk.com/method/wall.getComments?owner_id=**&post_id=[[ID_0]]
    

    Это не удобно, потому что все операции с ответом приходится дублировать.
    Решил сделать через For

    For 0-2
       get-запрос https://api.vk.com/method/wall.getComments?owner_id=**&post_id=[[SCAN_RESULT_LIST[[[CYCLE_INDEX]]]]]
    

    Но естественно так не срабатывает.. Как можно получить элемент массива SCAN_RESULT_LIST применяя индекс из переменной CYCLE_INDEX?

    Сейчас пробую костыль с установкой переменной и индексом в другую переменную.



  • @Fox said in Индекс элемента массива из переменной:

    [[SCAN_RESULT_LIST[[[CYCLE_INDEX]]]]]

     "https://api.vk.com/method/wall.getComments?owner_id=**&post_id=" +
     [[SCAN_RESULT_LIST]][VAR_CYCLE_INDEX]
    

    тип expresion



  • Да, костыль сработал как надо. Если вдруг кому пригодится в цикле For:
    Выполнить код

    VAR_ID = VAR_SCAN_RESULT_LIST[VAR_CYCLE_INDEX]
    

    get-запрос

    https://api.vk.com/method/wall.getComments?owner_id***&post_id=[[ID]]
    


  • @DrPrime said in Индекс элемента массива из переменной:

    @Fox said in Индекс элемента массива из переменной:

    [[SCAN_RESULT_LIST[[[CYCLE_INDEX]]]]]

     "https://api.vk.com/method/wall.getComments?owner_id=**&post_id=" +
     [[SCAN_RESULT_LIST]][VAR_CYCLE_INDEX]
    

    тип expresion

    Да, так тоже работает :)) Спасибо.



  • @Fox у тебя была ошибка в этой строке
    [[SCAN_RESULT_LIST[[[CYCLE_INDEX]]]]]

    Как минимум должно было быть так, возможно даже сработает
    [[SCAN_RESULT_LIST]][[[CYCLE_INDEX]]]



  • @DrPrime Я пробовал разные варианты :) ни как не срабатывало.



  • @Fox ну все из типа expresion . Вы же хотите получить строку с помощью js, значит нужно ставить тип expresion



  • @Fox Используйте действие Получить Элемент оно выберет элемент из списка по индексу и запишет его в переменную.



  • @support Эмм, вы видимо по спешили :) и не прочитали тему.
    Вопрос был:

    Как можно получить элемент массива SCAN_RESULT_LIST применяя индекс из переменной CYCLE_INDEX?

    Ответил @DrPrime :

     "https://api.vk.com/method/wall.getComments?owner_id=**&post_id=" +
     [[SCAN_RESULT_LIST]][VAR_CYCLE_INDEX]
    

    тип expresion



  • @Fox Альтернативный вариант никогда не помешает, вдруг кто-то другой найдет.



  • @support Я не сразу просто понял, что вы имели ввиду.
    В цикле for использовать экшен получить элемент, а в нём, в выборе индекса элемента использовать переменную [[CYCLE_INDEX]].
    0_1498831113981_forum32.png

    Такой вариант даже аккуратнее, в плане читабельности новичкам.


Log in to reply
 

  • 11
  • 3
  • 11
  • 4
  • 30
  • 10
  • 5
  • 18