我有一個對象我試圖從另一個對象(也就是說,迭代返回對象來產生一個對象只有選定的值從原來的)。我的代碼如下所示:爲什麼我無法構建這個Javascript對象?
var collect = {};
function getHistoricalData(username){
$.getJSON("http://url/" + username + ".json?params",
function(data){
for (var i=0; i < data.length; i++) {
console.log(i);
collect = { i : {text : data[i].text}};
$("#wrap").append("<span>" + data[i].text + "</span><br />");
};
console.log(collect);
});
}
所以我使用Firebug進行調試,這裏是我所知道的:
- 的JSON對象是完整
console.log(i);
是顯示數字1-20如預期當我在最後日誌
collect
對象,它的結構是這樣的:var collect = { i : {text : "the last iteration's text"}};
所以增量值是「應用」到data [i] .text並返回文本值,但它沒有達到我的預期,這是創建collect對象的新成員;它只是覆蓋
collect.i
20次,並留下最後一個值。
是否有需要用於分配對象成員的不同語法?我試過collect.i.text =
和collect[i].text =
,錯誤是我試過的東西都是未定義的。
我很想知道這裏發生了什麼,所以更深入的解釋更好。
謝謝!
這工作。解釋爲什麼更好的方式? – 2010-03-13 07:55:01
編輯來解釋發生了什麼事。 :) – 2010-03-13 07:58:12