我有一个javascript变量,它是querystring的键值对字典。我需要再次将此字典转换为查询字符串。我正在使用jquery.param功能,但它需要一个数组或一个对象。如何将我的dictinoary变量转换为jquery.params可以接受的数组/对象。
尝试使用serializeArray但它不起作用。
答案 0 :(得分:9)
jQuery.param
方法可以采用以下形式的数组:
[{ name: 'asdf', value: '42' },{ name: 'qwerty', value: '1337' }]
如果您的词典有其他属性名称,则可以使用jQuery.map
方法进行转换。例如:
arr = $.map(arr, function(e){
return { name: e.key, value: e.val };
});
答案 1 :(得分:5)
如果我理解你的问题(一些代码示例会有所帮助!)“词典”你的意思是一个类似的结构:
var dict = { key1: value1, key2: value2 … }
或:
var dict = {};
dict[key1] = value1;
dict[key2] = value2;
或可能:
var dict = {};
dict.key1 = value1;
dict.key2 = value2;
如果是这样,你应该知道所有都在做同样的事情,即在JavaScript对象上设置属性,并且应该由jQuery.param
正确序列化。简洁地说,JavaScript对象≈字典。
答案 2 :(得分:1)
使用 Object.values() :
var arr = Object.values(some_dict)