Search code examples
arraysfor-loopreturn-valuemustache

For-loop return array value


I'm trying to insert url for menu through mustache template. But just the first value is being returned for the array.

Or is this the return method wrong

      var main_menu_link =  ["main_dashboard.html", "#", "online_dashboard.html","index.html","#","#","#"]; 
      var url = "";
      var i;
      var url_link="";
      for(i = 0; i < main_menu_link.length; i++) {
       url += main_menu_link[i];
       return '<a href="'+ url  +'">' + text + '</a>';   
     }

CodePen working here


Solution

  • The return statement has to be after the loop:

    var main_menu_link =  ["main_dashboard.html", "#", "online_dashboard.html","index.html","#","#","#"]; 
    var url = "";
    var i;
    var url_link="";
    for(i = 0; i < main_menu_link.length; i++) {
      url += '<a href="'+ main_menu_link[i] +'">' + text + '</a>';  
    }
    return url;