私はそのようなコードを確認した場合、私は以下を参照してくださいすることを好むでしょう:
- 避け連結。
- 機能プログラミングの使用。
- サードパーティの合理的な使用法は、 - そうそう
querystring
のためにそれらのすべては、読みやすさ、シンプルさと保守性の利点のためのものです。そして私はそれが議論の余地があることを認めます..ので、あなたのスニペットが不完全であり、そのため、最初に鉱山があまりにも完全ではないことに注意してください
for (i = 0; i < 2; i++) {
var foo = "pr" + [i] + "va";
var bar = "value";
};
そこから私は、ベースラインとして、あなたのコードを使用して改善されます:)
を主張しないでくださいが、私はそこに着くだろう
避け連結
私は文字通りのテンプレートを使用して連結を避けることができます
for (i = 0; i < 2; i++) {
`pr${i}va=value`;
};
0関数型プログラミングの
使用
私は配列を使用して数値を反復処理、およびクエリにqueryParams
を回すために今、私はquerystring
を使用するサードパーティ
を使用してオブジェクト
const queryParams = Array(2).fill().reduce((object, value, index) => {
object[`pr${index}va`] = 'value';
return object;
} , {})
を構築するために削減されます文字列
return querystring.stringify(queryParams);
すべて一緒に
/**
* @param {number} count - number of query parameters to generate
* @returns {string} query string. for example for count=2 will return `pr1va=value&pr2va=value`
**/
function generateQueryString(count=2){
const queryParams = Array(count).fill().reduce((object, value, index) => { // convert N number to key-value map using reduce
object[`pr${index}va`] = 'value';
return object;
} , {});
return querystring.stringify(queryParams);
}
あなたは質問を言い換えることができますか?コードスニペットのために私たちはすべて誤解していると思います。もしあなたがqsパッケージを使いたいのであれば、あなたが持っているデータとして表示してください。文字列を作成したいのなら、qs libは必要ありません。私たちの答えは正しいです。クエリを変換するデータ構造の場合はQ、データ構造は表示されません。クエリを作成するにはここを作成してください。小さな感覚があり、同じように答えのような文字列クエリを作成するだけです。 –
@MaciejSikora以下のようなJSONレスポンスがあります。私はAPIから引き出しているいくつかの製品を持っているので、それらをループして値を取り出し、それらをクエリ文字列に入れたいと思っています。 "箇条書き":[ { "名前": "Tシャツ"、 "量": "1.00000000"、 "注意": "正規Tシャツ"、 "item_variation_name": "ホワイト" } { "名前": "Tシャツ"、 "量": "1.00000000"、 "注意": "正規Tシャツ"、 "item_variation_name": "ホワイト" } ] – iabramo