Studi Kasus Aplikasi Daftar Lagu part IV

Beranda › Forums › Belajar Menjadi Full Stack Web Developer Tingkat Menengah › Studi Kasus Aplikasi Daftar Lagu part IV

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #191472
    punkzieeee
    Participant

      Saya sudah mengikuti kodingan di video dari part I, namun saya stuck di static getPlaylist.

      Ketika saya console.log data, output Songs nya masih memiliki isi ([ { id: 1, name: ‘Favourite Music’, Songs: [ [Object], [Object] ] } ]). Begitu juga dengan let {id, name, songs} = playlist; (Songs: [{ id: 1, name: ‘Paint My Love’, duration: 300, genre: ‘Pop’ },{ id: 2, name: ‘Songs Rock’, duration: 120, genre: ‘Rock’ }]). Namun ketika memasuki bagian songs.map, malah error. Dan setelah saya cek ternyata songs nya tidak terisi dengan songs dari json, malah berisi udefined. Mohon bantuannya Coach.

      Kode lengkap:

      static getPlaylist() {
              let data = JSON.parse(fs.readFileSync('./data.json', 'utf-8')); 
              let playlists = data.map(playlist => {
                  let {id, name, songs} = playlist; 
                  songs = songs.map(song => { // lokasi error
                      let {id, name, duration, genre} = song;
                      if (genre === 'Pop') {
                          return new Pop(id, name, duration);
                      } else if (genre === 'Rock') {
                          return new Rock(id, name, duration);
                      }
                  });
                  return new Playlist(id, name, songs);
              });
              return playlists;
          }
      

      Pesan error:
      E:\ITBOX\Studi Kasus\Playlist & Song\models\Playlist.js:24
      songs = songs.map(song => {
      ^

      TypeError: Cannot read properties of undefined (reading ‘map’)
      at E:\ITBOX\Studi Kasus\Playlist & Song\models\Playlist.js:24:27
      at Array.map (<anonymous>)
      at Playlist.getPlaylist (E:\ITBOX\Studi Kasus\Playlist & Song\models\Playlist.js:13:30)
      at Playlist.show (E:\ITBOX\Studi Kasus\Playlist & Song\models\Playlist.js:38:25)
      at PlaylistController.show (E:\ITBOX\Studi Kasus\Playlist & Song\controllers\PlaylistController.js:5:18)
      at Object.<anonymous> (E:\ITBOX\Studi Kasus\Playlist & Song\index.js:16:28)
      at Module._compile (node:internal/modules/cjs/loader:1239:14)
      at Module._extensions..js (node:internal/modules/cjs/loader:1293:10)
      at Module.load (node:internal/modules/cjs/loader:1096:32)
      at Module._load (node:internal/modules/cjs/loader:935:12)

      #193174

      mungkin itu ada yg salah di bagian data.json nya. atau di data.json bagian songs, itu masih belum dikasih array kosong. makanya pas manggil songs.map, data songs yang ada di data.json nya belum ada arraynya sehingga muncul error. mungkin itu jawaban dari aku ya. klo ada yg salah mohon dikoreksi

      #194848
      Coach Vincent
      Moderator

        Iya benar harus sesuai dulu object dalam song nya.
        Bisa di debugging dl 1 1
        Terima kasih

        #196626
        agiru789
        Participant

          ya nih kasus aq sama,

          songs = songs.map(song => {
          ^

          TypeError: Cannot read properties of undefined (reading ‘map’)

          masih bingung

          🙁

          #196647
          agiru789
          Participant

            mohon pencerahannya coach, untuk case ini tampilan di terminal seperti ini
            PS C:\Users\Administrator\Documents\StudyCase\Playlist and Song> node index.js showPlaylist
            [class Playlist]

            #196738
            Coach Vincent
            Moderator

              Baik terima kasih.
              apakah sudah bisa?

              #196769
              agiru789
              Participant

                Ok coach, udah bisa. sekalian sharing nih, khusus case saya
                1. masalah songs.map ada perbedaan penulisan di json.data (song) sama di playlist.js (songs)
                2. hanya ada tampilan [class Playlist], lagi lagi kurang “s” di return playlists.

                #196923
                Coach Vincent
                Moderator

                  baik terima kasih

                Viewing 8 posts - 1 through 8 (of 8 total)
                • You must be logged in to reply to this topic.
                Shopping cart0
                There are no products in the cart!
                Continue shopping