将 URL 参数高效解析为字典

地学

我有一个 URL 参数red=3&red=5&blue=xyz&green=true,我需要将其解析为字典({red:[3,5], blue:['xyz'], green:[true]})感谢您对我当前方法的任何更优雅的解决方案的指点:

> var args = ('red=3&red=5&blue=xyz&green=true').split('&');

> d = {};

> for(var i=0; i<args.length; i++){
  var a = args[i].split('=');
  var key = a[0];
  if(d[key] == undefined){
  d[key] = [ a[1] ];
  } else { d[key].push( a[1] ); }
}

> d
{…}
blue: Array [ "xyz" ]
green: Array [ "true" ]
red: Array [ "3", "5" ]
__proto__: Object { … }
地学

谢谢大家的建议。根据@Rajesh 的建议,我认为这可能是最好的:

var args = ('red=3&red=5&blue=xyz&green=true').split('&');
d = {};
for(var i=0; i<args.length; i++){
  var a = args[i].split('=');
  d[a[0]] = d[a[0]] || []
  d[a[0]].push(a[1])
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章