Nodejs Array Filter filter(fn, context)

Here you can find the source of filter(fn, context)

Method Source Code

Array.prototype.filter = function(fn, context) {
  if (typeof fn != "function") {
    throw new TypeError(fn + " is not a function");
  }//from   w ww  .ja va2  s  .  co m

  if (typeof context === 'undefined') {
    context = this;
  }

  var res = [];
  for (var i = 0, l = this.length; i < l; ++i) {
    if (this.hasOwnProperty(i)) {
      if (fn.call(context, this[i], i, this)) {
        res.push(this[i]);
      }
    }
  }

  return res;
}

Related

  1. filter(f)
    Array.prototype.filter = function(f) {
      var filtered = [];
        for(var i = 0; i < this.length; i++)
          f(this[i], i) && filtered.push(this[i]);
        return filtered;
    };
    
  2. filter(f)
    Array.prototype.filter = function(f) {
      var filter = [];
      for (var i = 0; i < this.length; i++) {
        if (f(this[i]))
          filter.push(this[i]);
      return filter;
    };
    
  3. filter(filterFunc)
    Array.prototype.filter = function(filterFunc) {
      var ret = [];
      for(var i = 0; i < this.length; i++) {
        if(filterFunc(this[i])) {
          ret.push(this[i]);
      return ret;
    };
    ...
    
  4. filter(fn)
    Array.prototype.filter = function(fn){
        var self = this;
        var arr = [];
        for(var i=0; i<self.length; i++){
            if (fn(self[i])){
                arr.push(self[i]);
        return arr;
    ...
    
  5. filter(fn)
    Array.prototype.filter = function(fn)
        r = [];
        this.forEach(function (item) { if (fn(item)) r.push(item); });
        return r;
    
  6. filter(fun /*, thisArg */)
    "use strict";
    Array.isArray = function(arg) {
        return Object.prototype.toString.call(arg) === '[object Array]';
    };
    Array.prototype.filter = function(fun ) {
        if (this === void 0 || this === null)
            throw new TypeError();
        var t = Object(this);
        var len = t.length >>> 0;
    ...
    
  7. filter(fun /*, thisp */)
    Array.prototype.filter = Array.prototype.filter || function(fun ) {
      "use strict";
      if (this === void 0 || this === null) throw new TypeError();
      var t = Object(this);
      var len = t.length >>> 0;
      if (typeof fun !== "function") throw new TypeError();
      var res = [];
      var thisp = arguments[1];
      for (var i = 0; i < len; i++) {
    ...
    
  8. filter(fun /*, thisp*/)
    Array.prototype.filter = Array.prototype.filter || function(fun ) {
        var len = this.length >>> 0;
        if (typeof fun != "function") {
            throw new TypeError();
        var res = new Array();
        var thisp = arguments[1];
        for (var i = 0; i < len; i++) {
            if (i in this) {
    ...
    
  9. filter(fun)
    "use strict";
    Array.prototype.filter = function (fun) {
        let filtered = [];
        for (let i = 0; i < this.length; i++) {
            if (fun(this[i])) {
                filtered.push(this[i]);
        return filtered;
    ...