constheroes=[{name:'Wolverine',family:'Marvel',isEvil:false},{name:'Deadpool',family:'Marvel',isEvil:false},{name:'Magneto',family:'Marvel',isEvil:true},{name:'Charles Xavier',family:'Marvel',isEvil:false},{name:'Batman',family:'DC Comics',isEvil:false},{name:'Harley Quinn',family:'DC Comics',isEvil:true},{name:'Legolas',family:'Tolkien',isEvil:false},{name:'Gandalf',family:'Tolkien',isEvil:false},{name:'Saruman',family:'Tolkien',isEvil:true}];functioncopyObject(obj,cb){letcallbackPassed=false,stringToObj=null,objToString=null;if(cb&&typeofcb!=="function")thrownewError("Second Argument must be function.");elsecallbackPassed=true;objToString=JSON.stringify(obj);stringToObj=JSON.parse(objToString);if(callbackPassed)cb(stringToObj);returnstringToObj;}constnewHeroes=heroes.map(h=>{returncopyObject(h,function(obj){obj.name=obj.name.toUpperCase();});});// you can copy Objects with JSON :)// Object.assign is better solution for this kind of problems.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Discussion on: Typical JavaScript interview exercises (explained)
For further actions, you may consider blocking this person and/or reporting abuse