This JavaScript article tutorial shows you a short overview about JavaScript objects in comparing and cloning. You'll know how to clone JavaScript objects, make JavaScript object copy. This is really a should-read JavaScript tutorial when you would like to learn more advance JavaScript skills.
- Demo
- Enlarge
- Reload
- New window
Free iPage Web Hosting for First Year NOW
If you're still looking for a reliable web host provider with affordable rates, why you don't take a little of time to try iPage, only with $1.89/month, included $500+ Free Extra Credits for the payment of 24 months ($45)?
Over 1,000,000+ existisng customers can not be wrong, definitely you're not, too! More important, when you register the web hosting at iPage through our link, we're going to be happy for resending a full refund to you. That's awesome! You should try iPage web hosting for FREE now! And contact us for anything you need to know about iPage.
Here's a handy way to determine if two JavaScript objects are identical without using a framework like jQuery or MooTools:
var compare_objects = function (obj1, obj2){ var parameter_name; var compare = function(objA, objB, param){ var param_objA = objA[param], param_objB = (typeof objB[param] === "undefined") ? false : objB[param]; switch(typeof objA[param]){ case "object": return (compare_objects(param_objA, param_objB)); case "function": return (param_objA.toString() === param_objB.toString()); default: return (param_objA === param_objB); } }; for(parameter_name in obj1){ if(typeof obj2[parameter_name] === "undefined" || !compare(obj1, obj2, parameter_name)){ return false; } } for(parameter_name in obj2){ if(typeof obj1[parameter_name] === "undefined" || !compare(obj1, obj2, parameter_name)){ return false; } } return true; };
Here's an easy way to clone a JavaScript object:
var clone_object = function (original_obj) { var new_obj = {}; for(var param in original_obj) { if(original_obj.hasOwnProperty(param)){ if(typeof(original_obj[param]) === "object"){ new_obj[param] = clone_object(original_obj[param]); } else { new_obj[param] = original_obj[param]; } } } return new_obj; };
A real-world example of the two functions:
var object_1 = { fruit: "apple", tree: "dogwood", number: 3 }; var object_2 = { fruit: "apple", tree: "dogwood", number: 3, cartoons: { anime: "robotech", fantasy: "he-man" } }; var object_3 = clone_object(object_2); console.log("objects 1 and 2 match? " +compare_objects(object_1, object_2)); //displays false; console.log("objects 2 and 3 match? " +compare_objects(object_2, object_3)); //displays true
Bear in mind both of these functions are recursive, which means the larger the object, the slower the performance.
- Sent (0)
- New
iPhoneKer.com
Save up to 630$ when buy new iPhone 15
GateIO.gomymobi.com
Free Airdrops to Claim, Share Up to $150,000 per Project
https://tooly.win
Open tool hub for free to use by any one for every one with hundreds of tools
chatGPTaz.com, chatGPT4.win, chatGPT2.fun, re-chatGPT.com
Talk to ChatGPT by your mother language
Dall-E-OpenAI.com
Generate creative images automatically with AI
AIVideo-App.com
Render creative video automatically with AI
Save up to 630$ when buy new iPhone 15
GateIO.gomymobi.com
Free Airdrops to Claim, Share Up to $150,000 per Project
https://tooly.win
Open tool hub for free to use by any one for every one with hundreds of tools
chatGPTaz.com, chatGPT4.win, chatGPT2.fun, re-chatGPT.com
Talk to ChatGPT by your mother language
Dall-E-OpenAI.com
Generate creative images automatically with AI
AIVideo-App.com
Render creative video automatically with AI
Cool Domains for Sale!
javascriptbank.com javascripton.com gomy.mobi gomymobi.com
XMQV.com
ChatTotal.com
CryptoKD.com
CTRCoin.com
CoinHolo.com
choose.works
pornID.net
Card.rip
ChainTutor.com
ApexBTC.com
index.services
eChainBank.com
YeuNu.com
this.bid
CreditCard.rip
ZWVQ.com
war.money
choose.exchange
ABP3.com
system.money