JSFiddle - React, Tailwind, and code Playground
by nickadeemus2002
JavaScript
/* function */
function addMethod(obj, name, fn){
var stored = obj[name];
obj[name] = function(){
if( fn.length === arguments.length){
return fn.apply(this, arguments);
}
else if( typeof obj[name] === 'function'){
return stored.apply(this, arguments);
}
}
}
var myClass = {
students: [
{id: 1, name: 'nisan'},
{id: 2, name: 'niki'},
{id: 3, name: 'dan'}
]
};
addMethod(myClass, "get", function(){
return this.students;
});
addMethod(myClass, "get", function(id){
return this.students[id];
});
addMethod(myClass, "get", function(id, name){
return this.students.filter(function( student, idx){
if(student.id === id && student.name === name){
return student;
}
});
});
console.log("myClass.get() => ", myClass.get() );
console.log("myClass.get(1) => ", myClass.get(1) );
console.log("myClass.get(1, 'nisan') => ", myClass.get(1, 'nisan') );