私は、次の辞書があるとします。どのように辞書の要素を「参加」する
var d = {
'foo': 0,
'bar': 1
};
どのように私は簡単にこのような文字列に変換することができますか?
foo=0&bar=1
それで私を助けることができる任意の組み込みの方法はありますか?
私は、次の辞書があるとします。どのように辞書の要素を「参加」する
var d = {
'foo': 0,
'bar': 1
};
どのように私は簡単にこのような文字列に変換することができますか?
foo=0&bar=1
それで私を助けることができる任意の組み込みの方法はありますか?
あなたは純粋のためにあなたが
function serialize(obj) {
var str = [];
for(var p in obj)
if (obj.hasOwnProperty(p)) {
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
}
return str.join("&");
}
serialize(data);
ないビルトイン方法について確認を使用することができますが、あなたは、単に
Object.keys(d).map(function(key){ return key+"="+d[key] }).join("&") //outputs "foo=0&bar=1"
を行うことができますジャバスクリプト、$.param(data, true);
かを使用するのjQueryを使用している場合
var d = {
'foo': 0,
'bar': 1
};
var finalString = "";
for(var key in d){
finalString += key + "=" + d[key] + "&";
}
finalString = finalString.slice(0, -1);
console.log(finalString);
reduce
メソッドでこれを実現できます(オブジェクトの値を1つの文字列に "減らす"ため)。
簡潔なES6の例は次のようになります。
Object.keys(d).reduce((a,b,i) => `${a}${i ? '&':''}${b}=${d[b]}`,'')
は減速機能を使用します。
var obj = {
'foo': 0,
'bar': 1
};
var str = Object.keys(obj).reduce(function(acc, key, index) {
return acc + (index === 0 ? '' : '&') + key + '=' + obj[key];
}, '');
console.log(str) // => 'foo=0&bar=1'
はworking exampleを確認してください。
JSON.stringifyを使用できますか? – user2182349
@ user2182349私は言及したように文字列をフォーマットする必要があります – FrozenHeart
FormDataがあります... – user2182349