var i = 1; var option1 = 'test'; var option2 = 'test2'; var number = eval("option"+parseInt(i+1, 10)); console.log(number);
Вот он работает ... https://jsfiddle.net/ucp9jgnh/1/ Должен сделать трюк ... Не лучший способ это сделать, но это будет по крайней мере, работа
В этом примере опция2 является ответом ...
parseInt (i + 1, 10) ... эта часть будет убедиться, что это i (ваш цикл) +1 в математическом формате. Затем он добавляет это в текст «option», а eval () затем позволяет JS рассматривать его как переменную вместо строки.
Если вы измените var i = 0, вместо него будет выводиться «test» вместо «test2» из-за математики.
Вот что вы делали бы внутри своей петли ... Должно работать как есть:
var appendedThing = eval("option"+parseInt(i+1, 10)); item.appendChild(appendedThing);
Хорошо, вы хотите преобразовать его части, тогда «часть», которую вы запрашиваете, на практике соответствует:
Код Foxpro:
* Get the vendor code for case management hours
Select op_value ;
FROM dbfs\am_opts ;
WHERE op_code = "CMGT_VENDOR" ;
INTO CURSOR cmgt_vndr
lcCMGTVendor = padr(cmgt_vndr.op_value, 4)
T-SQL:
declare @lcCMGTVendor char(20+4); -- if op_value size is char(20)
Select top(1) @lcCMGTVendor = op_value
FROM am_opts
WHERE op_code = 'CMGT_VENDOR';
ИМХО padr () не было чем-то необходимым даже в коде foxpro. Выше кода в любом случае используйте char (20 + 4) вместо varchar () - поля foxpro имеют завершающие пробелы.