UNPKG

devbox-linq

Version:

Lambda style operations using arrow functions

39 lines (33 loc) 918 B
Array.prototype.add = function (item) { this.push(item); }; Array.prototype.addRange = function (...array) { let ref = this; array.forEach(function (item) { if (Array.isArray(item)) item.forEach(function (arrItem) { ref.add(arrItem); }); else ref.add(item); }); }; Array.prototype.remove = function (param) { if (typeof param === 'function') removeByCondition(this, param); else removeByItem(this, param); }; Array.prototype.removeAt = function (index) { this.splice(index, 1); }; function removeByCondition(arr, condition) { for (let i = arr.length - 1; i >= 0; i--) if (condition(arr[i])) arr.splice(i, 1); } function removeByItem(arr, item) { let indexOf = arr.indexOf(item); if (indexOf >= 0) arr.splice(indexOf, 1); }