Latihan 1 dari materi Docker Compose di DevOps — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Isi function parseComposeServices(yaml) yang menerima teks compose dalam format sederhana dan mengembalikan array nama service, sesuai urutan di teks.
Formatnya: tiap service beberapa baris kunci: nilai, antar service dipisah satu baris kosong, dan nama service ada di baris yang diawali service: .
Potong yaml per baris dengan split("\n").
Ambil hanya baris yang diawali service: .
Buang awalan service: supaya tersisa namanya, lalu kembalikan array-nya.
Baris console.log di kode awal biarkan. Yang diuji adalah nilai kembalian, dibandingkan persis:
Teks di kode awal (app dengan node:20, lalu db dengan postgres:16) harus mengembalikan ["app", "db"].
Teks berisi tiga service, web (nginx, port 80), api (php:8.3, port 9000), dan redis (redis:7, port 6379), harus mengembalikan ["web", "api", "redis"].
Yang dikembalikan cuma nama, bukan object berisi image atau port.
Hint
Kamu gak perlu mengurai seluruh YAML-nya. Cukup cari baris yang menyebut nama service, satu per service.
yaml.split("\n") memberi array baris. Saring dengan line.startsWith("service: "), lalu ubah tiap baris jadi namanya saja.