少し前の今日、私の友人であるMarc Grabanskiが質問を投げました:
foo=1&foo=2&foo=3&blah=a&blah=b
の形式のクエリ文字列をJavaScriptで最適な方法で
foo=1,2,3&blah=a,b
ように変換する方法? 彼はその時点ですでに彼自身の決定を下しており、何らかの方法で改善できるかどうか興味がありました。
私は少し考えて、次の解決策を提案しました。
関数圧縮(データ){ var q = {}、ret = ""; data.replace(/([^ =&] +)=([^&] *)/ g、関数(m、キー、値){ q [キー] =(q [キー]?q [キー] + "、": "")+値; }); for(qのvarキー) ret =(ret?ret + "&": "")+キー+ "=" + q [キー]; return ret; }
webo.inで詳細を読む→