Advertisement
TZinovieva

Songs JS Fundamentals

Feb 24th, 2023
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function songs(arr) {
  2.     let numSongs = parseInt(arr[0]);
  3.     let typeList = arr.pop();
  4.    
  5.     for (let i = 1; i <= numSongs; i++) {
  6.       let [type, name] = arr[i].split('_');
  7.       if (typeList === 'all' || type === typeList) {
  8.         console.log(name);
  9.       }
  10.     }
  11.   }
  12.  
  13. OR
  14.  
  15. function songs2(input) {
  16. class Song {
  17.     constructor(typeList, name, time) {
  18.       this.typeList = typeList;
  19.       this.name = name;
  20.       this.time = time;
  21.     }
  22.   }
  23.   let n = input.shift();
  24.   let type = input.pop();
  25.  
  26.   let songs = input.map((songString) => {
  27.     let [typeList, name, time] = songString.split('_');
  28.     return new Song(typeList, name, time);
  29.   });
  30.   for (let song of songs) {
  31.     if (type === 'all' || song.typeList === type) {
  32.       console.log(song.name);
  33.     }
  34.   }
  35. }
  36.  
  37. OR
  38.  
  39. function songs(arr) {
  40.     class Song {
  41.         constructor(type, name, time) {
  42.             this.type = type;
  43.             this.name = name;
  44.             this.time = time;
  45.         }
  46.     }
  47.     let songs = [];
  48.     let numberOfSongs = arr.shift();
  49.     let typeOfList = arr.pop();
  50.     for (let i = 0; i < numberOfSongs; i++) {
  51.         let [type, name, time] = arr[i].split('_');
  52.         let song = new Song(type, name, time);
  53.         songs.push(song);
  54.     }
  55.     if (typeOfList === 'all') {
  56.         songs.forEach(x => console.log(x.name));
  57.     } else {
  58.         let filtered = songs.filter(x => x.type === typeOfList);
  59.         filtered.forEach(x => console.log(x.name));
  60.     }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement