Returning Values Out Of For Loop In Javascript
I have the following function: function getId(a){ var aL = a.length; for(i = 0; i < aL; i++ ){ return a[i][2].split(':', 1)[0]; } }
Solution 1:
You can do that with yield
in newer versions of js, but that's out of question. Here's what you can do:
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('');
}
Solution 2:
You gotta cache the string and return later:
functiongetId(a){
var aL = a.length;
var output = '';
for(var i = 0; i < aL; i++ ){
output += a[i][2].split(":", 1)[0];
}
return output;
}
Solution 3:
- The return statement breaks the loop once it is executed. Therefore consider putting the return statement outside the loop.
- Since you want to return a string, you will create a variable and assign it to an empty string.(This is where will append/add results from the loop.)
- return the string variable.
So final code will look like...
functiongetId(a){
var result = '';
var aL = a.length;
for(i = 0; i < aL; i++ ){
result += a[i][2].split(":", 1)[0];
}
return result;
}
Post a Comment for "Returning Values Out Of For Loop In Javascript"