AzLearn

تمرين إعادة البناء

Query String Builder

أعد كتابة منشئ query string في TypeScript بقيم اختيارية وآمنة.

typescript ~15 دقيقة متوسط
أعد بناء الكود Rebuild

هذا هو الكود. اكتبه بنفسك.

الكود المرجعي
type QueryValue = string | number | boolean | undefined;

type QueryParams = Record<string, QueryValue>;

function buildQueryString(params: QueryParams): string {
  const pairs: string[] = [];

  for (const [key, value] of Object.entries(params)) {
    if (value === undefined) {
      continue;
    }

    pairs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
  }

  return pairs.length === 0 ? "" : `?${pairs.join("&")}`;
}

const query = buildQueryString({
  search: "typescript drills",
  page: 2,
  active: true,
  empty: undefined,
});

console.log(`/rebuild/typescript/${query}`);
اكتب هنا