From cb8a37a956456671c4ddd6a0fc41ad4662ac0c30 Mon Sep 17 00:00:00 2001 From: brogers-97 Date: Mon, 13 Mar 2023 21:04:19 -0700 Subject: [PATCH] finished questions --- exercises.js | 63 +++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 52 insertions(+), 11 deletions(-) diff --git a/exercises.js b/exercises.js index 4ffe65f..569f971 100644 --- a/exercises.js +++ b/exercises.js @@ -13,8 +13,10 @@ const album1 = { // 1. Retrieve the string "Sire" from album1, and save it in a sensibly named // variable. - +const albumLabel = album1.albumDetails.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", @@ -37,9 +39,11 @@ const album3 = { // 3. Access album2's formats array and use an array method to add "LP" to // 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", @@ -50,6 +54,8 @@ const album4 = { } // 5. Add the label "Sire" to album4's details +album4.albumDetails.label = "sire" + const album5 = { title: "Speaking in Tongues", @@ -60,6 +66,8 @@ const album5 = { } // 6. Add a 'formats' array to album 5 and add "CD", "Cassette", and "LP" +album5.formats = ["CD","Cassette" ,"LP"] + const album6 = { title: "Little Creatures", @@ -72,6 +80,9 @@ 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", @@ -85,6 +96,9 @@ const album7 = { // 8. Convert album7's 'labels' property from the string value // "Sire, EMI" into the array: ["Sire", "EMI"] // google js array split! +album7.albumDetails.labels = ["Sire", "EMI"] + + ///////////////////////////////////////////////////// // Part 2: More Tasks About Datatypes and Structures @@ -111,18 +125,18 @@ const talkingHeadsAlbums = [ ] // 1. Create an object literal called `band`. - +const 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.push("Tiny Weymouth", "Chris Franz", "Jerry Harrison") //////////////////////////////////////////////// // Part 3: Conditional Logic //////////////////////////////////////////////// @@ -131,12 +145,20 @@ 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 (band.albums.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 (band.albums.length%2 === 0) { + console.log("The number " + band.albums.length + " is even") +} else { + console.log ("The number " + band.albums.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: @@ -146,7 +168,15 @@ const talkingHeadsAlbums = [ // - "The number Y is not divisible by 2 or 3", // // with Y being the number of albums. - +if (band.albums.length%2 === 0 && band.albums.length%3 === 0) { + console.log("The number " + band.albums.length + " is divisible by 2 and 3") +} else if (band.albums.length%2 === 0) { + console.log ("The number " + band.albums.length + " is divisible by 2") +} else if (band.albums.length%3 === 0) { + console.log("The number " + band.albums.length + " is divisible by 3") +} else { + console.log("The number " + band.albums.length + " is not divisible by 2 or 3") + } // 4. Check your logic above against the numbers: 0, 1, 2, 6, 7, and 9. // Make sure it always works! @@ -155,10 +185,21 @@ const talkingHeadsAlbums = [ ///////////////////////////////////////////////////// // 1. Use a for loop to print out the name of each Talking Heads album - +band.albums.forEach(function(ele){ + console.log(ele.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; + +talkingHeadsAlbums.forEach(function(album) { + if (album.albumDetails && album.albumDetails.labels && album.albumDetails.labels.includes("Sire")) { + sireTally += 1 + } else if (album.albumDetails.label === "Sire") { + sireTally += 1 + } +})