2011-09-30 47 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/