code: function(func) {
          var i = 0,
              l = this.length;
          for (; i < l; i++) {
              //skip if not exists
              if (!entities[this[i]]) continue;
              func.call(entities[this[i]], i);
          }
          return this;
      }
docs: @
  #.each
  @comp Crafty Core
  @kind Method
  
  @sign public this .each(Function method)
  @param method - Method to call on each iteration
  
  Iterates over found entities, calling a function for every entity.
  
  The function will be called for every entity and will pass the index
  in the iteration as an argument. The context (value of `this`) of the
  function will be the current entity in the iteration.
  
  @example
  Destroy every second 2D entity
  ~~~
  Crafty("2D").each(function(i) {
  if(i % 2 === 0) {
  this.destroy();
  }
  });
  ~~~