如何将对象数组转换为 url 字符串?

Eni*_*lek 3 javascript

我正在尝试为 urlstring 生成 javascript 对象数组,例如:

var array = [{'name': 'foo', 'value': '2'},
             {'name': 'foo', 'value': '2,8'},
             {'name': 'foo', 'value': '2,10,3'}
            ];

// url ==> foo=2&foo=2,8&foo=2,10,3
Run Code Online (Sandbox Code Playgroud)

Pau*_*oub 7

为了安全起见,您需要对组件进行编码:

const array = [
  {'name': 'foo', 'value': '2'},
  {'name': 'foo', 'value': '2,8'},
  {'name': 'foo', 'value': '2,10,3'}
];

const parts = array.map((param) => {
  return(
    encodeURIComponent(param.name) + '=' +
    encodeURIComponent(param.value)
  );
});

const url = parts.join('&');

console.log(url);
Run Code Online (Sandbox Code Playgroud)


Ami*_*oki 6

你可以这样做

var url = "";
array.forEach(function(e){
   url += e.name + "=" + e.value + "&";
});
url = url.trim("&");
Run Code Online (Sandbox Code Playgroud)