Nodejs Array Filter filter(predicateFunction)

Here you can find the source of filter(predicateFunction)

Method Source Code

/*//from  w w  w .  ja va2  s . c  om
Exercise 7: Implement filter()

To make filtering easier, let's add a filter() function to the Array type. The
filter() function accepts a predicate. A predicate is a function that accepts
an item in the array, and returns a boolean indicating whether the item should
be retained in the new array.
*/

Array.prototype.filter = function(predicateFunction) {
   var results = [];
   this.forEach(function(itemInArray) {
     if (predicateFunction(itemInArray)) {
      results.push(itemInArray);
     }
   });

   return results;
};

// JSON.stringify([1,2,3].filter(function(x) { return x > 2})) === "[3]"

Related

  1. filter(predicate)
    Array.prototype.filter = function(predicate) {
      var filtered_array = [];
      this.forEach(function (element, i) {
        if (predicate(element)) filtered_array.push(element);
      });
      return filtered_array;
    
  2. filter(predicateFunction)
    Array.prototype.filter = function(predicateFunction) {
      var results = [];
      this.forEach(function(itemInArray) {
        if (predicateFunction(itemInArray)) {
        results.push(itemInArray);
      });
      return results;
    };
    ...
    
  3. filter(predicateFunction)
    Array.prototype.filter = function(predicateFunction) {
      var results = [];
      this.forEach(function(itemInArray) {
        if(predicateFunction(itemInArray) == true)
          results.push(itemInArray);
      });
      return results;
    };
    
  4. filter(predicateFunction)
    Array.prototype.filter = function(predicateFunction){
      var result = [];
      this.forEach(function(item){
        if(predicateFunction(item)) {
          result.push(item);
      })
      return result;
    Array.prototype.map = function(predicateFunction){
      var result = [];
      this.forEach(function(item){
        result.push(predicateFunction(item));
      })
      return result;
    var a = [1,2,3,4,5,6,7,8,9];
    a.map(function(x){
      return x*2;
    }).filter(function(x){
      if(x > 4) return true;
    })
    
  5. filter(predicateFunction)
    var result = ['A','B','C','D','E','F'].filter(function(x) { 
      return x > 'C'
    });
    console.log(result);
    var outcome = JSON.stringify(result);
    console.log(outcome);
    var testOutCome = outcome === '["D","E","F"]';
    console.log(testOutCome);
    
  6. filter(predicateFunction)
    Array.prototype.filter = function(predicateFunction) {
      var results = [];
      this.forEach(itemInArray => {
        if(predicateFunction(itemInArray)) {
           results.push(itemInArray);
      });
      return results;
    };
    ...
    
  7. filter(predicateFunction)
    Array.prototype.filter = function(predicateFunction) {
      var results = [];
      this.forEach(function(itemInArray) {
        if (predicateFunction(itemInArray)) {
        results.push(itemInArray);
      });
      return results;
    };
    ...
    
  8. filter(predicateFunction)
    Array.prototype.filter = function(predicateFunction) {
      var results = [];
      this.forEach(function(item) {
        if (predicateFunction(item)) {
          results.push(item);
      });
      return results;
    
  9. filter(search, func)
    Array.prototype.filter = function(search, func) {
      var results = [];
      for(var i = 0; i < this.length; i++) {
        if(func(search, this[i]))
           results.push(this[i]);
      return results;