Nodejs Array Filter customFilter(fn)

Here you can find the source of customFilter(fn)

Method Source Code

/**/*from  w  w  w. j a v  a  2 s . c o m*/
 * Function takes a callback
 * @param fn => function
 */
Array.prototype.customFilter = function(fn) {
   let results = [];
    for (let i = 0; i < this.length; i++) {
        let itemExists = fn(this[i]);
        if (itemExists) {
            results.push(this[i]);
        }
    }
   return results;
};

Related

  1. filter(predicateFunction)
    Array.prototype.filter = function(predicateFunction) {
      var results = [];
      this.forEach(function(item) {
        if (predicateFunction(item)) {
          results.push(item);
      });
      return results;
    
  2. 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;
    
  3. 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;
    ...
    
  4. filter(testFunction)
    Array.prototype.filter = function(testFunction){
      var result = [];
      this.forEach(function(item){
        if(testFunction(item)){
          result.push(item);
      })
      return result;
    
  5. cs142filter(element, func)
    'use strict'
    Array.prototype.cs142filter = function(element, func) {
      var result = [];
      var array = Object(this);
      var length = array.length;
      for (var i = 0; i < length; i++) {
        var val = array[i];
        if (func.call(undefined, element, val)) {
          result.push(val);
    ...
    
  6. filterByField(field, key)
    Array.prototype.filterByField = function(field, key) {
      var newArray = [];
      for (var i = 0; i < this.length; i++) {
        if (this[i][field] == key) {
          newArray.push(this[i]);
      return newArray;
    };
    ...
    
  7. filterByField(field, value)
    Array.prototype.filterByField = function (field, value)
        var list = this;
        var listReturn = [];
        list.forEach(function(item)
            if (item[field] === value)
                listReturn.push(item);
    ...
    
  8. filterEmpty()
    Array.prototype.filterEmpty = function ()
        var arr = this;
        var i = arr.length;
        while (i--)
            if (arr[i] instanceof Array)
                arr[i] = arr[i].filterEmpty();
    ...
    
  9. filterSyncasync (callback, thisArg)
    Array.prototype.filterSync = async function (callback, thisArg) {
      let filterResult = await Promise.all(this.map(callback))
      return this.filter((_, index) => filterResult[index])