Nodejs Array Filter filter(predicateFunction)

Here you can find the source of filter(predicateFunction)

Method Source Code

//http://reactivex.io/learnrx/
//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);/*w  w w  . j a v  a2 s.com*/
    }
  });
  return results;
};

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

Related

  1. filter(predicateFunction)
    Array.prototype.filter = function(predicateFunction) {
      var results = [];
      this.forEach(function(itemInArray) {
        if(predicateFunction(itemInArray) == true)
          results.push(itemInArray);
      });
      return results;
    };
    
  2. 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;
    })
    
  3. 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);
    
  4. filter(predicateFunction)
    Array.prototype.filter = function(predicateFunction) {
      var results = [];
      this.forEach(function(itemInArray) {
        if (predicateFunction(itemInArray)) {
        results.push(itemInArray);
      });
      return results;
    };
    ...
    
  5. filter(predicateFunction)
    Array.prototype.filter = function(predicateFunction) {
      var results = [];
      this.forEach(itemInArray => {
        if(predicateFunction(itemInArray)) {
           results.push(itemInArray);
      });
      return results;
    };
    ...
    
  6. filter(predicateFunction)
    Array.prototype.filter = function(predicateFunction) {
      var results = [];
      this.forEach(function(item) {
        if (predicateFunction(item)) {
          results.push(item);
      });
      return results;
    
  7. 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;
    
  8. filter(test)
    Array.prototype.filter = function (test) {
        var i, item, newArray = [];
        for (i = 0; i < this.length; i++) {
      item = this[i];
      if (test(item)) {
          newArray.push(item);
        return newArray;
    ...
    
  9. filter(testFunction)
    Array.prototype.filter = function(testFunction){
      var result = [];
      this.forEach(function(item){
        if(testFunction(item)){
          result.push(item);
      })
      return result;