Вы могли бы избежать цикл, и потенциал для ошибок, которые вы запускали в с, используя map
:
stopAddresses = locationStops . map(function(id) {
return document.getElementById(id).value;
});
В зависимости от ваших стилистических предпочтений, вы можете найти следующее более читаемым:
function get_value_from_id(id) {
return document.getElementById(id).value;
}
stopAddresses = locationStops . map(get_value_from_id);
Если вы хотите использовать цикл, вы можете использовать новую конструкцию for...of
:
for (let val of locationStops) {
^^
stopAddresses.push(document.getElementById(val).value);
}
Если есть среда, которая поддерживает ES7 постижения массива:
[ for (id of locationStops) document.getElementById(id).value ]
Если вы хотите придерживаться своего for...in
цикла, то, как и другие ответы указали, переменная цикла является индексом, а не значение, поэтому вам нужно получить доступ к ID с locationStops[i]
, но вам лучше использовать обычный цикл.
'console.log (val);' --- имеет смысл ВСЕГДА проверять переменные, удерживая ожидаемое значение. – zerkms
Кроме того, DOM id должен быть уникальным. Не знаете, зачем нужен цикл. – Thilo
log return 0 –