Skip to content Skip to sidebar Skip to footer

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"