List of utility methods to do Object Bind
bind(method)Object.prototype.bind = function(method){ var object = this; return function(){ method.apply(object, arguments); }; | |
bind(prop)Object.prototype.bind = function (prop) { var self = this; var method = this[prop]; return function () { return method.apply(self, arguments); }; }; | |
map(cb, thisArg)Object.prototype.map = function(cb, thisArg) { thisArg = thisArg || this; var that = this; Object.getOwnPropertyNames(this).map(function(name) { cb(name, that[name]); }); return this; }; | |
map(f)"use strict"; var map = function(f, thing) { if(thing.map) { return thing.map(f); throw new Error("Object given does not implement map"); }; var square = function(x) { return x * x; ... | |
map(obj, callback)"use strict"; Object.map = function(obj, callback) { return Object.keys(obj).map(key => callback(obj[key], key)); | |
mapWithKey(f)Object.prototype.mapWithKey = function(f) { var result = new Array(); for (var key in this) { result[result.length] = f(key, this[key]); }; return result; }; | |
addMixin(mixin)Object.prototype.addMixin = function (mixin) { for (var prop in mixin) { if (mixin.hasOwnProperty(prop)) { this.prototype[prop] = mixin[prop]; }; |