<script type="text/javascript">
function addMapMethod(obj,attrName){
obj[attrName] = function(fn) {
var keys = Object.keys(this);
this.fn = fn;
var newArr = [];
for (var i = 0,len = keys.length; i < len; i++) {
var value = this[keys[i]];
newArr[i] = this.fn(value)
}
Object.defineProperty(obj, "fn", {
"enumerable": false
});
return newArr;
};
Object.defineProperty(obj, attrName, {
"enumerable": false
});
}
var arr = [5, 6, 47, 45, 2, 13, 45, 12, 45];
console.log(arr);
addMapMethod(arr,"m");
var array = arr.m(function(ele){
return ele * ele;
});
console.log(array);
</script>