如何摆脱对象#<对象>没有方法“推”错误?

嗨,我想推动数据到JSON对象,其中已经定义了键,但我仍然没有被捕获typeError在线,我有警报(“3”)和警报(“6”)

server.on('update_message_from_server', function(data){ if(data.message_to!=false){ alert("1"); if(data.message_from==<?php echo $session_user_id;?>){ alert("2"); if(message_store.hasOwnProperty(data.message_to_email)){ alert("3"); message_store[data.message_to_email].push((data)); str2 = '<div id ="recent_message_log_entry'+data.message_to_email+'"><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>'; $(document.getElementById("recent_message_log_entry"+data.message_to_email)).replaceWith(str2); }else{ alert("4"); message_store[data.message_to_email]= new Array(); message_store[data.message_to_email]=data; string = '<div><div>'+data.message_to_email+'</div><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>'; $("#new_updates").append(string); } }else{ alert("5"); if(message_store.hasOwnProperty(data.message_from_email)){ alert("6"); message_store[data.message_from_email].push((data)); str2 = '<div id ="recent_message_log_entry'+data.message_from_email+'"><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>'; $(document.getElementById("recent_message_log_entry"+data.message_from_email)).replaceWith(str2); }else{ alert("7"); message_store[data.message_from_email]= new Array(); message_store[data.message_from_email]=data; string = '<div><div>'+data.message_from_email+'</div><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>'; $("#new_updates").append(string); } } }else{ alert("8"); alert("Email Does not exist "+data.message_to_email); } alert(JSON.stringify(message_store)); }); 

我如何纠正这一点?

提前致谢

如果message_store[data.message_from_email] ,则首先将一个空数组分配给它,然后不是将数据推送到数组,而是用data覆盖数组

该错误是在线

 message_store[data.message_from_email]= new Array(); message_store[data.message_from_email]=data; 

它应该是

 message_store[data.message_from_email] = new Array(); message_store[data.message_from_email].push(data); 

或缩短

 message_store[data.message_from_email]= [data]; 

所以

 server.on('update_message_from_server', function(data){ if(data.message_to!=false){ alert("1"); if(data.message_from==<?php echo $session_user_id;?>){ alert("2"); if(message_store.hasOwnProperty(data.message_to_email)){ alert("3"); message_store[data.message_to_email].push((data)); str2 = '<div id ="recent_message_log_entry'+data.message_to_email+'"><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>'; $(document.getElementById("recent_message_log_entry"+data.message_to_email)).replaceWith(str2); }else{ alert("4"); message_store[data.message_from_email]=[data]; string = '<div><div>'+data.message_to_email+'</div><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>'; $("#new_updates").append(string); } }else{ alert("5"); if(message_store.hasOwnProperty(data.message_from_email)){ alert("6"); message_store[data.message_from_email].push((data)); str2 = '<div id ="recent_message_log_entry'+data.message_from_email+'"><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>'; $(document.getElementById("recent_message_log_entry"+data.message_from_email)).replaceWith(str2); }else{ alert("7"); message_store[data.message_from_email]=[data]; string = '<div><div>'+data.message_from_email+'</div><div>'+data.message+'</div><div>'+data.date_posted+'</div></div>'; $("#new_updates").append(string); } } }else{ alert("8"); alert("Email Does not exist "+data.message_to_email); } alert(JSON.stringify(message_store)); });