diff --git a/exercises.js b/exercises.js index 4ffe65f..c9bc8d3 100644 --- a/exercises.js +++ b/exercises.js @@ -13,9 +13,15 @@ const album1 = { // 1. Retrieve the string "Sire" from album1, and save it in a sensibly named // variable. +const label= album1.albumDetails.label +console.log(label) + // 2. Change the title of album1 from "Talking Heads" to "Talking Heads: 77" +album1["title"] = "Talking Heads: 77" + + const album2 = { title: "More Songs About Buildings and Food", albumDetails: { @@ -38,18 +44,29 @@ const album3 = { // album3's formats // Check out the Array.push method! +album3.albumDetails.formats.push(album2.albumDetails.formats[0]) + + // 4. Change the release date of album3 from a string into a Date object // Look ahead to album4 for a clue! + +album3.albumDetails.released = new Date("August 3, 1979") + + + const album4 = { title: "Remain in Light", albumDetails: { released: new Date("October 8, 1980"), formats: ["Cassette", "LP"] - } + } } // 5. Add the label "Sire" to album4's details +album4.albumDetails.label="Sire" + + const album5 = { title: "Speaking in Tongues", @@ -61,6 +78,11 @@ const album5 = { // 6. Add a 'formats' array to album 5 and add "CD", "Cassette", and "LP" +album5.albumDetails.formats = ["CD", "Cassette","LP"]; +console.log(album5.albumDetails.formats) + + + const album6 = { title: "Little Creatures", albumDetails: { @@ -73,6 +95,8 @@ const album6 = { // 7. Make the label "emi" in album6 all uppercase // google how to make a string uppercase in js! +album6.albumDetails.labels[1]=album6.albumDetails.labels[1].toUpperCase() + const album7 = { title: "True Stories", albumDetails: { @@ -86,6 +110,10 @@ const album7 = { // "Sire, EMI" into the array: ["Sire", "EMI"] // google js array split! + +album7.albumDetails.labels = album7.albumDetails.labels.split(", ") + + ///////////////////////////////////////////////////// // Part 2: More Tasks About Datatypes and Structures ///////////////////////////////////////////////////// @@ -109,19 +137,33 @@ const talkingHeadsAlbums = [ album7, album8 ] +const band = { + name: "Talking Heads", + members: ["David Byrne", "Chris Frantz", "Tina Weymouth", "Jerry Harrison"], + albums: talkingHeadsAlbums +}; + +band.members = ["David Byrne", "Chris Frantz", "Tina Weymouth", "Jerry Harrison"] +band.albums = talkingHeadsAlbums +band.name = "Talking Heads" + // 1. Create an object literal called `band`. // 2. Give it the property `name` and set it to "Talking Heads" +band.name = "Talking Heads" // 3. Give it the property `members` and set it to an array with a single // string, "David Byrne", in it. - +band.members ["David Byrne"] // 4. Give it the property `albums` and set it to the array stored in the // variable talkingHeadsAlbums +band.albums = talkingHeadsAlbums // 5. Add "Tiny Weymouth", "Chris Franz" and "Jerry Harrison" to the members // array. +band.members ["David Byrne", "Tiny Weymouth", "Chris Franz", "Jerry Harrison"] + //////////////////////////////////////////////// // Part 3: Conditional Logic @@ -131,12 +173,25 @@ const talkingHeadsAlbums = [ // if the Talking Heads have 6 albums or more. Otherwise, console.log // "Talking heads didn't have much output." Use the array of albums // talkingHeadsAlbums above. +if(talkingHeadsAlbums.length >= 6) { + console.log("Talking Heads were a prolific band"); +} else { + console.log("Talking Heads didn't have much output"); +} + // 2. Write a conditional to check if the number of albums in // talkingHeadsAlbums is odd or even, and then console.log // "The number X is odd" or "The number X is even" with X being // the number of albums. +if (talkingHeadsAlbums.length % 2 === 0) { + console.log(`The number ${talkingHeadsAlbums.length} is even`) +} else { + console.log(`The number ${talkingHeadsAlbums.length} is odd`) + +} + // 3. Write conditionals to check if the number of albums in // talkingHeadsAlbums is divisible by either 2 or 3, and then // console.log one of: @@ -147,7 +202,28 @@ const talkingHeadsAlbums = [ // // with Y being the number of albums. +const numberofAlbums=talkingHeadsAlbums.length; +if (numberofAlbums % 2 === 0 && numberofAlbums % 3 === 0) { + console.log(`The number ${numberofAlbums} is divisible by 2 and 3`); +} else if (numberofAlbums % 2 === 0) { + console.log(`The number ${numberofAlbums} is divisible by 2`); +} else if (numberofAlbums % 3 === 0) { + console.log(`The number ${numberofAlbums} is divisible by 3`); +} else { + console.log(`The number ${numberofAlbums} is not divisible by 2 or 3`); +} // 4. Check your logic above against the numbers: 0, 1, 2, 6, 7, and 9. + +const test1= 9; +if (test1 % 2 === 0 && test1 % 3 === 0) { + console.log(`The number ${test1} is divisible by 2 and 3`); +} else if (test1 % 2 === 0) { + console.log(`The number ${test1} is divisible by 2`); +} else if (test1 % 3 === 0) { + console.log(`The number ${test1} is divisible by 3`); +} else { + console.log(`The number ${test1} is not divisible by 2 or 3`); +} // Make sure it always works! ///////////////////////////////////////////////////// @@ -156,9 +232,33 @@ const talkingHeadsAlbums = [ // 1. Use a for loop to print out the name of each Talking Heads album + +for (album in talkingHeadsAlbums) { + console.log(talkingHeadsAlbums[album].title) +} + + + // 2. Create a variable called `sireTally`, and set it to the integer value 0. // Then use a for-loop to go through all the Talking Heads albums, // incrementing sireTally if the album was released under the "Sire" label. // // Warning: some albums have a property `.label`, which is a string, and some // have `.labels`, which is an Array! +let sireTally = 0 +for (album in talkingHeadsAlbums) { + if(talkingHeadsAlbums[album].albumDetails.label === "Sire") { + sireTally ++ + } else if (talkingHeadsAlbums[album].albumDetails.labels) { + if(talkingHeadsAlbums[album].albumDetails.labels.includes("Sire")) { + } + } +} + + + + + + + +