Индекс массива основан на 0.Вы должны присвоить значение индексу h-1
.Вам не нужно уменьшать это, если вы начинаете цикл с 0
.Кроме того, генерируемый вами идентификатор строки не отформатирован должным образом.Вы можете попробовать следующий способ:
var values =[];
var arrange = 2
for (var h=0; h<arrange;h++){
values[h]=parseFloat($("#inputr2"+h).val());
//Or you can simply use push() which does not require index.
//values.push(parseFloat($("#inputr2"+h).val()));
}
console.log(values)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="inputr20" value="11.11"/>
<input id="inputr21" value="22.22"/>
Если вы хотите получить все входные значения, имеющие id Начинается с , вы можете использовать map()
иget()
следующим образом:
var values = $('[id^=inputr2]').map((i, el) => parseFloat($(el).val())).get();
console.log(values)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="inputr21" value="11.11"/>
<input id="inputr22" value="22.22"/>