Можем ли мы увеличить имя глобальной переменной внутри цикла for, как переменную при использовании Postman

Я пытаюсь проанализировать данные ответа и получить значения для «id». Поскольку я ожидаю несколько значений для одного и того же ответа, я помещаю его в массив. Внутри цикла for я увеличиваю массив с индексом, установленным на i. Каждое из этих значений мне нужно передать в глобальную переменную, такую ​​как var_id0, var_id1... var_idn.

Можно ли увеличить числовое значение глобального имени «var_id» внутри цикла for?

Я просмотрел несколько примеров, но ни один из них не показывает мне, можно ли это сделать при установке глобальной переменной.

var index_id= [];
var jsonData = JSON.parse(responseBody);
for (var i = 0; i < jsonData.list.length; i++) {  
    var counter = jsonData.list[i];
    index_id[i] = counter.id;
    pm.globals.set("var_id"[i], index_id[i]) <<-- How can this be achieved.
    //pm.globals.set("variable name", "variable value") --> Actual syntax.
}

Я ожидаю, что до тех пор, пока не будет достигнут конец цикла for, с каждым циклом имя глобальной переменной будет увеличиваться на 1, и будет установлено соответствующее значение. Например:

var_id1 = "700" var_id2 = "800"...

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
450
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

"var_id"[i] означает ищите i-й индекс в "var_id" и для строк, которые будут оцениваться как символ в позиции i, поэтому "var_id"[0] будет "v". Вместо этого вы хотите создать строки от добавлениеi до "var_id", что можно сделать с помощью +.

Привет Джонас Уилмс, это сработало как шарм. Спасибо. Добавление +, как вы упомянули, помогает добавить числовое значение к имени глобальной переменной. Спасибо.

Kiran Cherian 09.07.2019 14:25

Вы можете использовать функцию eval.

var index_id= [];
var jsonData = JSON.parse(responseBody);
for (var i = 0; i < jsonData.list.length; i++) {  
    var counter = jsonData.list[i];
    index_id[i] = counter.id;
    eval("var_id"+i+" = "+index_id[i]);
    //pm.globals.set("var_id"[i], index_id[i]) <<-- How can this be achieved.
    //pm.globals.set("variable name", "variable value") --> Actual syntax.
}

спасибо за отрицательный голос без объяснения причин. eval иногда не является злом, примите это. :)

yılmaz 09.07.2019 14:21

Однако здесь это совершенно необязательно, и у вас все еще есть "var_id"[i].

Paul 09.07.2019 14:25

@Paulpro Вы имеете в виду строку после строки с eval? Какая часть не нужна?

yılmaz 09.07.2019 14:33

Изменять

pm.globals.set("var_id"[i], index_id[i])

К

pm.globals.set(`var_id${i}`, index_id[i])

Привет, Кристофер Брэдли. Проблема с вышеизложенным заключается в том, что globals.set берет все, что находится внутри кавычек, в качестве имени переменной и не добавляет значения по желанию.

Kiran Cherian 09.07.2019 14:27

Ах, я вижу, у вас есть образец ответа. Я знаю, что вы отметили один как ответ, но, возможно, это был бы более эффективный способ, если бы у меня был пример ответа. Ваше здоровье!

Christopher Bradley 09.07.2019 14:30

Вот что я поймал в глобальной настройке почтальона: VARIABLE INITIAL VALUE CURRENT VALUE var_id${[i]} 747 747

Kiran Cherian 09.07.2019 14:32

Ааа, я напортачил со своей стороны, проверьте мой отредактированный ответ без скобок.

Christopher Bradley 09.07.2019 14:38

var_id${i} 732 732

Kiran Cherian 09.07.2019 14:42

Зачем вам все эти глобальные переменные? Определите один глобальный массив и поместите в него свои значения. Затем получить к ним доступ по индексу. Почти такой же синтаксис, как вы хотели.

Другие вопросы по теме