John Resig propone una función para convertir una cadena como "foo=1&foo=2&foo=3&blah=a&blah=b"
en otra que así: "foo=1,2,3&blah=a,b"
.
Resulta muy interesante el uso de la función
function compress(data){
var q = {}, ret = "";
data.replace(/([^=&]+)=([^&]*)/g, function(m, key, value){
q[key] = (q[key] ? q[key] + "," : "") + value;
});
for ( var key in q )
ret = (ret ? ret + "&" : "") + key + "=" + q[key];
return ret;
replace
con una función que recibe las partes clave y valor y cuyo resultado se reemplazará en la cadena a buscar. También es interesante la técnica para comprobar si se debe concatenar una pieza más a una cadena separada por una coma: ret = (ret ? ret + "&" : "") + value;
16 marzo, 2008
John Resig - Busca pero no reemplaces
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario