code: function (fn, thisObject) {
      var ret = [];
      for (var i = 0, len = this.length; i < len; i++) {
  
        // Kael:
        // Some people might ask: "why we use a `i in this` here?".
        // ECMA:
        // > callback is invoked only for indexes of the array which have assigned values;
        // > it is not invoked for indexes which have been deleted or which have never been assigned values
  
        // Besides, `filter` method is not always used with real Arrays, invocations below might happen:
  
        //     var obj = {length: 4}; obj[3] = 1;
        //     Array.prototype.filter.call({length: 4});
        //     Array.prototype.filter.call($('body'));
  
        // as well as the lines below
        if ((i in this) && fn.call(thisObject, this[i], i, this)) {
          ret.push(this[i]);
        }
      }
  
      return ret;
    }
docs: Iteration methods -----------------------