Nodejs Array Filter filter(filterFunc)

Here you can find the source of filter(filterFunc)

Method Source Code

/**//from  w w w. j  av a 2s  . com
 * Returns all elements that match the filter function.
 * @param filterFunc function that accepts an element of the array and
 * returns true if the element matches and false otherwise.
 * @return an array of all elements that match the given function.
 * Can be an empty array.
 */
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;
};

Related

  1. filter(f)
    var arr = ['hello', 42, true, function() {}, "123", 3.14, 0, [1], {}];
    var isInteger = function(x) {
        return (typeof x === 'number' && isFinite(x) && Math.floor(x) === x);
    Array.prototype.filter = function(f) {
        var newArr = [];
        for (var i = 0; i < this.length; i++) {
            if (f(this[i])) newArr.push(this[i]);
        return newArr;
    };
    var newArr = arr.filter(isInteger);
    console.log(newArr);
    
  2. filter(f)
    var arr = ['hello', 42, true, function() {}, "123", 3.14, 0, [1], {}];
    var isInteger = function(x) {
        return typeof x === 'number' && !isNaN(x) && x % 1 === 0;
    };
    Array.prototype.filter = function(f) {
        var newArr = [];
        for (var i = 0; i < this.length; i++) {
            if ( f(this[i]) ) {
                newArr.push(this[i]);
    ...
    
  3. filter(f)
    Array.prototype.filter = Array.prototype.filter || function (f) {
      var result = [];
      this.each(function (element) {
        if (f(element, result.length)) {
          result.push(element);
      });
      return result;
    };
    ...
    
  4. 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;
    };
    
  5. 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;
    };
    
  6. 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;
    ...
    
  7. filter(fn)
    Array.prototype.filter = function(fn)
        r = [];
        this.forEach(function (item) { if (fn(item)) r.push(item); });
        return r;
    
  8. filter(fn, context)
    Array.prototype.filter = function(fn, context) {
      if (typeof fn != "function") {
        throw new TypeError(fn + " is not a function");
      if (typeof context === 'undefined') {
        context = this;
      var res = [];
      for (var i = 0, l = this.length; i < l; ++i) {
    ...
    
  9. 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;
    ...