Примечание: ниже находится перевод заметки «Search and Don't Replace». В ней автор размышляет о методах преобразования строки запроса в массив на JavaScript при минимальных затратах процессорного времени. Мои комментарии далее курсивом.
Немного ранее сегодня мой друг, Marc Grabanski, подкинул мне вопрос: как наиболее оптимальным образом на JavaScript преобразовать строку запроса вида
Я подумал немного и предложил следующее решение:
читать дальше на webo.in →
Немного ранее сегодня мой друг, Marc Grabanski, подкинул мне вопрос: как наиболее оптимальным образом на JavaScript преобразовать строку запроса вида
foo=1&foo=2&foo=3&blah=a&blah=b
во что-то вроде foo=1,2,3&blah=a,b
? У него уже было на тот момент собственное решение, и ему было любопытно, нельзя ли его как-либо улучшить.Я подумал немного и предложил следующее решение:
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; }
читать дальше на webo.in →