Возврат значений из цикла for в javascript
у меня есть следующие функции:
function getId(a){
var aL = a.length;
for(i = 0; i < aL; i++ ){
return a[i][2].split(":", 1)[0];
}
}
и при использовании console.log()
внутри функции вместо return
Я получаю все значения в цикле, и то же самое для document.write
. Как получить доступ к этим значениям в виде строки для использования в другом разделе моего кода?
спасибо заранее.
3 ответов
С yield
в более новых версиях js, но об этом не может быть и речи. Вот что вы можете сделать:
function getId(a){
var aL = a.length;
var values = [];
for(i = 0; i < aL; i++ ){
values.push(a[i][2].split(":", 1)[0]);
}
return values.join('');
}
вы должны кэшировать строку и вернуться позже:
function getId(a){
var aL = a.length;
var output = '';
for(var i = 0; i < aL; i++ ){
output += a[i][2].split(":", 1)[0];
}
return output;
}
- возвращение заявления разрывы цикл после его выполнения. Следовательно рассмотреть поставить возвращение сообщении за пределами на цикл.
- поскольку вы хотите вернуть строку, вы создадите переменную и назначьте его пустой строке.(Здесь будут добавлены / добавлены результаты из петли.)
- возвращает строковую переменную.
таким образом, окончательный код будет выглядеть...
function getId(a){
var result = '';
var aL = a.length;
for(i = 0; i < aL; i++ ){
result += a[i][2].split(":", 1)[0];
}
return result;
}