Estoy buscando reducir los requisitos de almacenamiento para los datos JSON al desvirtuarlos contra un conjunto conocido de valores predeterminados. Básicamente, lo que quiero es una inversa de la función de jQuery .extend()
, de manera que la siguiente prueba pasa de objetos compatible con JSON arbitrarias:Inverso de jQuery.extend (true, ...)
function test_delta(defaults, delta) {
var current = $.extend(true, {}, defaults, delta);
QUnit.same(get_delta(current, defaults), delta);
}
Antes de empezar a escribir mi propia get_delta()
, es cualquier persona consciente de una implementación existente?
Tendrá que manejar este usted mismo, el camino duro (lazo anidado). Como probablemente sabes. Es incluso más divertido si tus datos JSON tienen una profundidad arbitraria. –
Sí, ya he descubierto algunos casos extremos interesantes; es por eso que pensé que pediría el "SO Oracle" antes de investigarlo yo mismo. Ah bueno. :-) –
Un buen lugar para comenzar sería buscar la función jQuery.fn.extend en [jQuery source] (http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js). – calvinf