我有一个问题,我需要在javascript中获取一个字符串(这是一个查询字符串)并将其转换为另一个查询字符串(以避免冲突)
我的原始字符串是:
fieldA=10&fieldB=10&fieldC=10&fieldD=10&arrayfieldA=100&arrayfieldA=200
我想要一个前缀(在我的情况下它会像“slide [0]。”并把它放在所有项目的前面,所以我最终得到:
slides[0].fieldA=10&slides[0].fieldB=10&slides[0].fieldC=10&slides[0].fieldD=10&slides[0].arrayfieldA=100&slides[0].arrayfieldA=200
在javascript中,将第一个字符串转换为第二个字符串的最简单方法是什么?
我可以用左
*简单查找/“替换()”(.replace(“&”,“& slides [0]”)
*转换为数组,然后吐回到连接的字符串
*其他人?
目前我正在这样做:
function EnrichString(startString, prefix) {
return prefix + startString.replace("&", "&" + prefix);
}
但我想确认这种方法是否有任何问题?
答案 0 :(得分:1)
var queryStringParts = queryString.split('&');
var pairs = queryStringParts.map(function(str) { return str.split('=') })
var rewrittenParts = pairs.map(function(pair){
return 'slides[0].'+pair[0]+'='+pair[1]
});
var newQuerystring = rewrittenParts.join('&');
正如评论中指出的那样编辑,在这个特定情况下,我们可以跳过拆分成对的步骤,然后再做
var queryStringParts = queryString.split('&');
var rewrittenParts = queryStringParts.map(function(part) {
return 'slides[0].'+part
});
var newQuerystring = rewrittenParts.join('&');