—— この記事はここからです ——
クエリ文字列とは何ですか
引用符で囲まれたすべての内容を文字列と呼びます。文字列充填の内容が異なるため、いくつかの詳細な分類を作成しました。
1. 完全に数字で構成されている: 数値文字列: '123456789'
2. HTML 形式の文字列: HTML 形式の文字列: '<p>abcd</p>'
3. クエリ文字列: 形式 key=value&key=value 例: 'name=zhangsan&password=123456&gender=male'
機能: URL クエリ パラメータの分析によく使用されます。プログラミングの際、オブジェクト情報をクエリ文字列形式に変更したり、クエリ文字列形式をオブジェクト情報に変更したりする必要があることがよくあります。
オブジェクト情報をクエリ文字列に変換する
方法: オブジェクト内の各キーと値はクエリ文字列に表示されるため、オブジェクト内の各キーと値を取得する必要があるため、オブジェクトを走査し、取得したコンテンツを完全な文字列に組み立て、最後の文字を削除する必要があります。最終的にアセンブルされた結果文字列に追加し、変換された結果を戻り値として使用します。
コード:
function queryStringify(obj){
var str = "" //存放查询字符串
for(var k in obj){
str += k + '=' + obj[k] + '&' //将遍历出来的数据拼接成"key=value&"的形式赋值给空字符串
}
str = str.slice(0,-1) //删除字符串末尾的"&"
return str;
}
var obj = {
name:'jack',
age:18,
gender:'男',
classroom:2109
}
console.log (queryStringify(obj));
結果:
クエリ文字列をオブジェクト情報に変換する
方法: クエリ文字列に必要な情報の数を把握し、& で文字列を分割し、切り取ったデータをループします。各データの左側の「=」がオブジェクト内のキー、「=」右側の「」はオブジェクト内の値です。再度「=」を使用して小さなデータをそれぞれ切り取り、最後にオブジェクトを埋めます
コード:
var str = 'name=jack&age=18&gender=男&classroom=2109'
function parseQueryString(s,b){
var obj = {} //用来存放最终结果
var arr = [] //用来存放用split()分割后的数据
arr = str.split('&') //将查询字符串通过"&"切割成5个数据
arr.forEach(function(item){ //循环遍历数组
var tmp = item.split('=') //将遍历出来的每一个数据通过"="切割
var key = tmp[0] //将"="左边的数据赋值为key
var value = tmp[1] 将"="右边的数据赋值为value
obj[key] = value //填充对象
});
return obj;
}
console.log (parseQueryString(str))
結果:
——この記事は終わりです——