Latihan 1: Character Encoding & Unicode — Web Fundamentals

Latihan 1 dari materi Character Encoding & Unicode di Web Fundamentals — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Lengkapi dua function di editor.

  1. buildQueryString(params) menerima object dan mengembalikan query string, tanpa tanda ? di depan:

    • encode setiap key dan setiap value dengan encodeURIComponent,
    • gabung tiap pasangan jadi key=value,
    • sambung pasangannya dengan &.

    Contoh: buildQueryString({ q: "hello world", tag: "café" }) mengembalikan "q=hello%20world&tag=caf%C3%A9".

  2. countCharacters(str) mengembalikan jumlah karakter (code point), bukan str.length. Pakai [...str].length, supaya satu emoji dihitung satu.

    Contoh: countCharacters("😀Budi") mengembalikan 5, bukan 6.

Biarkan baris console.log di bawah. Console-nya harus menampilkan tujuh baris ini, persis:

q=hello%20world&tag=caf%C3%A9
name=Budi%20%26%20Ani&level=5
emoji=%F0%9F%98%80
4
5
2
5

Pengecek juga memanggil fungsimu langsung: countCharacters("") harus 0, countCharacters("🙂🙂") harus 2, dan buildQueryString({ "a b": "c/d" }) harus "a%20b=c%2Fd", jadi key-nya juga harus di-encode.

Hint