我建立了一个互动平台,人们可以选择六名球员组成全明星队。当他们单击“分享到Twitter”时,我希望拥有一个包含所有六个玩家的参数的URL,例如website.com/?playerName=picked?playerName=picked
,以便人们可以共享他们的团队
您可以直接在网址中使用数组,但是您需要将数组序列化为字符串。像这样player[]=one&player[]=two
这里有一个自动化的小功能。
使用url时,应始终使用encodeURIComponent
编码任何非url友好字符。播放器是一个数组,因此我们在其上映射并获得一个已编码的新数组。
之后,我们只需要将数组与&
结合在一起>
const players = [
'player Name 1',
'playerName2',
'playerName3'
]
const parameterizeArray = (key, arr) => {
arr = arr.map(encodeURIComponent)
return '?'+key+'[]=' + arr.join('&'+key+'[]=')
}
console.log(parameterizeArray('player', players))
唯一的区别是函数的声明风格,其他都是标准的ES5
function parameterizeArray(key, arr) {
arr = arr.map(encodeURIComponent)
return '?'+key+'[]=' + arr.join('&'+key+'[]=')
}
我不确定您是否可以对数组进行编码,如果可以的话,它可能是特定于框架的
清洁工: