如何参数化数组,使其成为以逗号分隔的单个名称值对。使用 jQuery $.param 为每个数组值创建一个参数,而不仅仅是一个。显然没有选项或设置可以改变这一点。我正在寻找的不仅仅是使用 Array.join 因为我需要深度序列化和 url 编码。是否有 jQuery.param 选项或实用程序库?
使用 jQuery 的 param 方法:
$.param({ a: [2, 3, 4] }); // "a[]=2&a[]=3&a[]=4"
我需要:
var p = {a: [2, 3, 4]};
param(p) //"a=2,3,4"
最佳答案
最简单的情况是,假设对象的每个属性的值都是一个数组:
function param(obj) {
var output = [];
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
output.push(prop + '=' + obj[prop].join(','));
}
}
return output.join('&');
}
var p = {
a: [2, 3, 4],
b: ['something','else']
};
console.log(param(p)); //a=2,3,4&b=something,else
关于javascript - 如何将数组参数化为单个逗号分隔值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20385239/