2012-09-05 45 views
1

我試圖給JavaScript對象賦值,當這樣做時,一些垃圾值最終在那裏看起來像'推','流行','拼接'等數組方法。以下是我的代碼。Javascript對象返回垃圾值

function myTest(){ 
var userArray = new Object(); 
var req = new Request.JSON({ 
url: '/myTest.php', 
method: 'post', 
noCache: true, 
data: 'userID=999', 

onSuccess: function(json){  
    for(var key in json){ 
     userArray = json[key]; 
     for (var row in userArray){ 
     alert(row) // This returns values like '$family','push','pop', 'reverse' etc. 
     } 
    } 
}, 
onException: function(xhr){ 
    alert("Unable to process your request"); 
}, 
onFailure: function(xhr){ 
    alert("Unable to connect to the server"); 
} 
}).send(); 
} 

我不知道我在這裏錯過了什麼,但它看起來像我當然是。任何幫助,將不勝感激。

+1

您發佈的內容有語法錯誤。請張貼您的實際代碼,以避免浪費每個人的時間。 – Pointy

+0

你可以通過在循環中檢查'if(json.hasOwnProperty(key))'來刪除它們。 – Matt

+0

@Pointy。對不起,關於:)謝謝你馬特。 – Nash3man

回答

3

絕對不要用於...陣列上。期。您看到的垃圾值是數組原型的屬性。

請參閱related question

+0

謝謝jbabey。這是我錯過錯過它。這解決了它。欣賞你非常快速的迴應:) – Nash3man

1
for (var row in userArray){ 
     if(userArray.hasOwnProperty(row)) 
      alert(row) ; 
     } 

詳情here。基本上,for循環將採取所有可用的屬性/功能。並且您必須檢查它是否僅屬於該對象或被繼承。

+0

非常感謝你的指針:) – Nash3man