Latihan 1: Content Negotiation — Web Fundamentals

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

Buat fungsi pickBestMime(acceptHeader, offers) yang memilih format terbaik untuk dikirim server.

Langkahnya:

  1. Pecah acceptHeader di tiap koma. Tiap bagian berisi format jenis/subjenis, kadang diikuti ;q=angka. Tanpa q, nilainya 1.
  2. Untuk tiap format di offers, cari bagian Accept yang cocok: tulisannya sama persis, atau jenis/* dengan jenis yang sama, atau */*. Ambil nilai q paling tinggi dari bagian yang cocok. Gak ada yang cocok berarti 0.
  3. Kembalikan format dengan nilai paling tinggi. Kalau seri, pilih yang lebih dulu muncul di offers.
  4. Kalau semua nilainya 0 (gak ada yang cocok, atau ditolak dengan q=0), kembalikan null.

Empat baris console.log di starter sudah memanggil fungsinya, jangan diubah. Kalau fungsinya benar, console mencetak:

application/xml
application/json
application/json
null

Yang juga dicek:

Hint