Je cherche à réduire les exigences de stockage pour les données JSON en les déliant par rapport à un ensemble de valeurs par défaut. Au fond, ce que je veux est l'inverse de la fonction de jQuery .extend()
, de sorte que le test suivant passe pour les objets compatibles JSON arbitraires:Inverse de jQuery.extend (true, ...)
function test_delta(defaults, delta) {
var current = $.extend(true, {}, defaults, delta);
QUnit.same(get_delta(current, defaults), delta);
}
Avant de commencer à écrire mon propre get_delta()
, est une personne au courant d'une implémentation existante?
Vous devrez vous-même gérer celui-ci, le chemin dur (en boucle imbriquée). Comme tu le sais probablement. C'est encore plus amusant si vos données JSON ont une profondeur arbitraire. –
Ouais, j'ai déjà trouvé des cas intéressants; C'est pourquoi j'ai pensé que je demanderais le "SO oracle" avant de creuser moi-même. Et bien. :-) –
Un bon point de départ serait de regarder la fonction jQuery.fn.extend dans [source jQuery] (http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js). – calvinf