将javascript字典转换为要在jquery.params中传递的数组/对象

Top*_*der 2 javascript arrays jquery dictionary

我有一个javascript变量,它是一个querystring键值对的字典.我需要再次将此字典转换为查询字符串.我正在使用jquery.param功能,但它需要一个数组或一个对象.如何将我的dictinoary变量转换为jquery.params可以接受的数组/对象.

尝试使用serializeArray但它不起作用.

Guf*_*ffa 9

jQuery.param方法可以采用以下形式的数组i:

[{ name: 'asdf', value: '42' },{ name: 'qwerty', value: '1337' }]
Run Code Online (Sandbox Code Playgroud)

如果您的词典具有其他属性名称,则可以使用该jQuery.map方法进行转换.例:

arr = $.map(arr, function(e){
  return { name: e.key, value: e.val };
});
Run Code Online (Sandbox Code Playgroud)


Jor*_*ray 5

如果我理解你的问题(一些代码样本会有所帮助!)"字典"你的意思是一个结构,如:

var dict = { key1: value1, key2: value2 … }
Run Code Online (Sandbox Code Playgroud)

要么:

var dict = {};
dict[key1] = value1;
dict[key2] = value2;
Run Code Online (Sandbox Code Playgroud)

或者可能:

var dict = {};
dict.key1 = value1;
dict.key2 = value2;
Run Code Online (Sandbox Code Playgroud)

如果是这样,您应该知道所有这些都在做同样的事情,即在JavaScript对象上设置属性,并且应该正确地序列化jQuery.param.简洁地说,JavaScript对象≈字典.