Skip to content

Instantly share code, notes, and snippets.

@ahmedalani
Created September 7, 2017 03:50
Show Gist options
  • Save ahmedalani/cdd392ca4cf9401d0112c37c60ecae78 to your computer and use it in GitHub Desktop.
Save ahmedalani/cdd392ca4cf9401d0112c37c60ecae78 to your computer and use it in GitHub Desktop.
added all the functions to the library object
var library = {
tracks: { t01: { id: "t01",
name: "Code Monkey",
artist: "Jonathan Coulton",
album: "Thing a Week Three" },
t02: { id: "t02",
name: "Model View Controller",
artist: "James Dempsey",
album: "WWDC 2003"},
t03: { id: "t03",
name: "Four Thirty-Three",
artist: "John Cage",
album: "Woodstock 1952"}
},
playlists: { p01: { id: "p01",
name: "Coding Music",
tracks: ["t01", "t02"]
},
p02: { id: "p02",
name: "Other Playlist",
tracks: ["t03"]
}
}
},
printPlaylists: function (this) {
var play = this.playlists;
for (var key in play) {
var p = play[key];
console.log(p.id, ':', p.name,'-', p.tracks.length, 'tracks');
}
},
printTracks : function (library) {
var track = library.tracks;
for (var key in track) {
var t = track[key];
console.log(t.id, ':', t.name, 'by', t.artist, '(', t.album, ')');
}
},
printPlaylist function (playlistId) {
var output = {};
var playlist = library.playlists[playlistId];
if (playlistId === playlist.id) {
console.log(playlistId, ':', playlist.name,'-', playlist.tracks.length, 'tracks');
}
for (var key in playlist.tracks) {
var trackid = playlist.tracks[key];
var track = library.tracks[trackid];
console.log(track.id, ':', track.name, 'by', track.artist, '(', track.album, ')');
}
},
printPlaylist: function (playlistId) {
var output = {};
var playlist = library.playlists[playlistId];
if (playlistId === playlist.id) {
console.log(playlistId, ':', playlist.name,'-', playlist.tracks.length, 'tracks');
}
for (var key in playlist.tracks) {
var trackid = playlist.tracks[key];
var track = library.tracks[trackid];
console.log(track.id, ':', track.name, 'by', track.artist, '(', track.album, ')');
}
},
addTrackToPlaylist: function (trackId, playlistId) {
var tracksOfPlaylistId = library.playlists[playlistId].tracks;
tracksOfPlaylistId.push(trackId);
console.log(tracksOfPlaylistId);
},
uid: function() {
return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
},
addTrack: function (name, artist, album) {
var generatedId = uid();
var newTrack = { id: generatedId,
name: name,
artist: artist,
album: album };
library["tracks"][generatedId] = newTrack;
console.log(library.tracks[generatedId]);
},
addPlaylist: function (name) {
var generatedId = uid();
var newPlaylist = { id: generatedId,
name: name,
};
library.playlists[generatedId] = newPlaylist;
console.log(library.playlists[generatedId])
}
}
var printSearchResults = function(query) {
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment