我發現了一個行爲,當嘗試使用循環來改變對象中屬性的值時,我並沒有想到。如何更新循環內的對象屬性?
基本上,我聲明我的對象在循環之外。 然後我循環一個數值的數組,這些數值用於更新對象屬性。 在循環內部,我將當前對象狀態存儲在外部數組中。
結果是,不是讓一個數組包含一系列具有不同數值的對象,而是最終在每個存儲的對象中都有相同的數值。
這裏是小提琴http://jsfiddle.net/fAypL/1/
jQuery(function(){
var object_container = [];
var numeric_values = [1, 2 , 3, 4];
var my_object = {};
jQuery.each(numeric_values, function(index, value){
my_object['value'] = value;
object_container.push(my_object);
});
jQuery.each(object_container, function(index, value){
jQuery('#content').prepend(value['value']);
});
});
我希望得到1 2 3 4爲存儲在每個對象的值,但是,我得到的是4 4 4 4,這沒有任何意義對我來說。
這種行爲任何暗示是更受歡迎,感謝
正確的,並且以固定,創建一個新的'my_object'每次迭代在'推'之前。 – rvighne