如何设置逗号sep。字符串作为参数?

时间:2013-02-04 20:40:09

标签: javascript jquery

  

可能重复:
  How can I get query string values?

我有一个函数调用,如:

var ex = _.where(obj, {param1:0,param2:1});

工作正常,背后的所有代码。

我检查我的网址并取出参数并将此信息保存到数组中:

    var query = window.location.search.substring(1);

    var vars = query.split("&");

    var testParamter = vars.toString().replace( /=/g,':' );

通过使用console.log(testParamter)返回;结果如下:

param1:0,param2:1

但我无法将var testParamter插入到我的函数调用中:

var ex = _.where(obj, {testParamter});

因为它是一个字符串,我不能用eval()来处理它。那么有人能告诉我解决它的正确方法吗?

感谢

1 个答案:

答案 0 :(得分:0)

迭代查询字符串中的值并从这些值中创建一个对象:

var query  = window.location.search.substring(1),
    vars   = query.split("&"),
    params = {};

$.each(vars, function(k,v) {
    var arr = v.split('=');
    params[ decode(arr[0]) ] = decode(arr[1]);
});

var ex = _.where(obj, params);

function decode(s) { 
    return decodeURIComponent(s.replace(/\+/g, " ")); 
}