Я ищу, чтобы уменьшить требования к хранилищу данных JSON, делит его на известный набор значений по умолчанию. В общем, что я хочу, является обратным для .extend()
функции JQuery, таким, что следующий тест проходит для произвольных JSON-совместимых объектов:Обратный jQuery.extend (true, ...)
function test_delta(defaults, delta) {
var current = $.extend(true, {}, defaults, delta);
QUnit.same(get_delta(current, defaults), delta);
}
Перед тем, как начать писать свой собственный get_delta()
, кто-нибудь в курсе существующей реализации?
Вам нужно будет справиться с этим самим, жестким (вложенным циклом) способом. Как вы, наверное, знаете. Еще веселее, если ваши данные JSON имеют произвольную глубину. –
Да, я уже придумал некоторые интересные случаи; поэтому я подумал, что я попрошу «SO оракул», прежде чем копаться в нем сам. Ах хорошо. :-) –
Хорошим местом для начала будет просмотр функции jQuery.fn.extend в источнике [jQuery] (http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js). – calvinf