Here you can find the source of mfilter(fun)
Array.prototype.mfilter = function (fun) { var filtered = []; for(let i = 0; i < this.length; i++) { if (fun(this[i], i, this)) filtered.push(this[i]); }// w w w. j a va 2s . co m return filtered; }; var returnarr = [1,2,3,4,5,6].mfilter(function(element, index, arr) { return element > 5; }); console.log(returnarr);
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; }; ...
Array.prototype.filterByField = function (field, value) var list = this; var listReturn = []; list.forEach(function(item) if (item[field] === value) listReturn.push(item); ...
Array.prototype.filterEmpty = function () var arr = this; var i = arr.length; while (i--) if (arr[i] instanceof Array) arr[i] = arr[i].filterEmpty(); ...
Array.prototype.filterSync = async function (callback, thisArg) { let filterResult = await Promise.all(this.map(callback)) return this.filter((_, index) => filterResult[index])
Array.prototype.filterUnique = function() { 'use strict'; var arr = []; var orig = this; orig.forEach(function(a, i) { if (arr.indexOf(a) < 0) { arr.push(a); } else { orig.splice(i, 1); ...
Array.prototype.single = function(filter) { var matches = this.filter(filter); if (matches.length == 0) { throw new Error("Expected 1 but found 0"); if (matches.length > 1) { throw new Error("Expected 1 but found many"); return matches[0]; ...
Array.prototype.singleOrNone = function(filter) { var matches = this.filter(filter); if (matches.length > 1) { throw new Error("Expected 1 but found many"); if (matches.length == 0) { return null; return matches[0]; ...