2011-09-30 71 views

回答

1

使用jQuery,您可以使用$.extend()做「深」 /遞歸對象合併,由true傳遞作爲第一個參數。

以下是這可能會在你的榜樣工作:

// turn the strings into objects 
var pref_array = $.map(json_holder, JSON.parse); 
// add the deep=true argument 
pref_array.unshift(true); 
// now do a deep extend, passing the array as arguments 
var prefs = $.extend.apply(null, pref_array); 

這可能有點鈍(你可以使它更是這樣,但更嚴格,通過設置pref_array[true].concat($.map(json_holder, JSON.parse))),但它避免了難看for循環(這可能是個人喜好,我想)。

在這裏工作jsFddle:http://jsfiddle.net/e6bnU/