node.js - Passing/Comparing by reference for javascript objects -


i'm trying compare 2 objects. use socket.io send nodes object client.

my server.js goes:

var nodes = {'101':{id:'101',x:100,y:200},              '102':{id:'102',x:200,y:200}}; socket.emit('message', nodes); 

in client, i'd create copy of object nodes first time receives. save variable oldnodes , next time socket receives nodes object, comparison oldnodes , output property has been changed.

e.g., if receives var nodes = {'101':{id:'101',x:100,y:200},'102':{id:'102',x:200,y:300}};, should print(console.log) nodes[102].y changed.

client.html :

socket.on('message', function(nodes){     if (oldnodes == undefined){         var oldnodes = nodes;    }    else{        //compare oldnodes & nodes        //print result   } }); 

for copying, var oldnodes = nodes; not want since javascript passes objects reference. so, if oldnodes & nodes have same content, (oldnodes == nodes) produce false. how copy object , compare properties efficiently?

from code seems problem not passbyref related. if declare oldnodes outside of function , assign var inside if statement, oldnodes not defined in else block. might looking for?

if (oldnodes == undefined){     oldnodes = nodes; } 

Comments

Popular posts from this blog

Android : Making Listview full screen -

javascript - Parse JSON from the body of the POST -

javascript - Chrome Extension: Interacting with iframe embedded within popup -