Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 8496b280

Von Sven Schöling vor etwa 3 Jahren hinzugefügt

  • ID 8496b280c5142ead5a0c211f50865b32586d3b5c
  • Vorgänger 2cf35cb6
  • Nachfolger 18a627a6

kivi.serialize - javascript flatten

Unterschiede anzeigen:

js/kivi.js
return kivi._shell_escape(elt);
}).join(' ');
};
ns.serialize = function(source, target = [], prefix, in_array = false) {
let arr_prefix = first => in_array ? (first ? "[+]" : "[]") : "";
if (Array.isArray(source) ) {
source.forEach(( val, i ) => {
ns.serialize(val, target, prefix + arr_prefix(i == 0), true);
});
} else if (typeof source === "object") {
let first = true;
for (let key in source) {
ns.serialize(source[key], target, (prefix !== undefined ? prefix + arr_prefix(first) + "." : "") + key);
first = false;
}
} else {
target.push({ name: prefix + arr_prefix(false), value: source });
}
return target;
};
});
kivi = namespace('kivi');

Auch abrufbar als: Unified diff