Latihan 1 dari materi Core Web Vitals: INP di Performance — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi dua function.
1. classifyInp(milliseconds) mengembalikan salah satu dari tiga string:
- maksimal 200 (200 termasuk):
"good"
- di atas 200 sampai maksimal 500 (500 termasuk):
"needs-improvement"
- di atas 500:
"poor"
2. identifyBlockingTasks(tasks) menerima array task { name, duration } dan mengembalikan array baru berisi task yang duration-nya lebih dari 50 (long task), dengan urutan aslinya. Task 50 ms gak ikut. Kalau gak ada, kembalikan [].
Yang dinilai nilai kembaliannya:
classifyInp(150) harus "good"
classifyInp(350) harus "needs-improvement"
classifyInp(600) harus "poor"
identifyBlockingTasks(tasks) dengan tasks dari kode awal harus [{ name: "evalScript", duration: 120 }, { name: "fetchData", duration: 80 }]
Ada juga cek tersembunyi di batasnya: classifyInp(200) harus "good", classifyInp(500) harus "needs-improvement", classifyInp(501) harus "poor", identifyBlockingTasks([{ name: "paint", duration: 10 }, { name: "layout", duration: 51 }]) harus [{ name: "layout", duration: 51 }], dan identifyBlockingTasks([{ name: "idle", duration: 5 }]) harus [].
Array tasks dan baris console.log di kode awal biarkan saja.