title: Array of objects for dynamic routing in Express JS
body: <p>I have an array of objects to define my routes and when I iterate over the object, my <code>/</code> route has no problem but any of the subsequent routes return a <code>404</code>. They all point to the same index route for the sake of troubleshooting.</p>
  
  <p>Here's the code:</p>
  
  <pre><code>/**
   * Module dependencies.
   */
  
  var express = require('express')
    , routes = require('./routes')
    , http = require('http')
    , path = require('path');
  
  var app = express();
  
  var pagesArray = [
      {
        name: '/',
        route: routes.index
      },
      {
        name: 'about',
        route: routes.index
      },
      {
        name: 'contact',
        route: routes.index
      },
      {
        name: 'commentary',
        route: routes.index
      },
      {
        name: 'scratch',
        route: routes.index
      }
  
      ];
  
  app.configure(function(){
    app.set('port', process.env.PORT || 3000);
    app.set('views', __dirname + '/views');
    app.set('view engine', 'jade');
    app.use(express.favicon());
    app.use(express.logger('dev'));
    app.use(express.bodyParser());
    app.use(express.methodOverride());
    app.use(app.router);
    app.use(require('stylus').middleware(__dirname + '/public'));
    app.use(express.static(path.join(__dirname, 'public')));
  });
  
  app.configure('development', function(){
    app.use(express.errorHandler());
  });
  
  //app.get('/', routes.index);
  
  pagesArray.forEach(function(pageObj){
    app.get(pageObj.name, pageObj.route);
    console.log("Name: "+pageObj.name+", Route: "+pageObj.route);
  });
  
  http.createServer(app).listen(app.get('port'), function(){
    console.log("Express server listening on port " + app.get('port'));
  });
  </code></pre>