如何将逗号分隔字符串设置为参数

How to set a comma sep. string as a paramter?

本文关键字:字符串 设置 参数 分隔      更新时间:2023-09-26

可能重复:
如何获取查询字符串值?

我有一个函数调用,比如:

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

它运行良好,所有代码都在后面。

我检查我的URL,取出参数,并将这些信息保存到一个数组中:

    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()处理它。有人能告诉我解决问题的正确方法吗?

感谢

遍历querystring中的值,并根据这些值创建一个对象:

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, " ")); 
}