diff --git a/index.js b/index.js index a9560baa3..c40d86712 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,3 @@ -const artists = [ { "id": 0, "name": "Amedeo Modigliani", @@ -208,17 +207,19 @@ Practice accessing data above by console.log-ing following items: (no functions needed) */ //(1) Name of the first artist (0th index) in the array - +let firstArtist = artists[0] +console.log("Task 1 A:", firstArtist); //(2) Bio of the third artist (2nd index) in the array - - +let bioThirdArtist = artists[2].bio +console.log("Task 1 B:", bioThirdArtist); /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Task 2 (not auto tested): πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ (no function needed) There is a typo in your dataset 😱 The 9th artist, Vincent Van Gogh is currently Vincent Van Dough. Fix this issue and console.log() to check your work. */ - +artists[8].name = "Vincent Van Gogh" +console.log("Task 2:", artists[8].name); /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Task 3: πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ @@ -230,9 +231,14 @@ Use getArtistByIndex to do the following: 🌟 EXAMPLE: if getArtistByIndex is invoked with the artists array and the number 0, it will return `the artist at index 0 is Amedeo Modigliani` */ -function getArtistByIndex(/*Your Code Here*/) { - /*Your Code Here*/ +function getArtistByIndex(artistArray, desiredIndex){ + let artist = artistArray[desiredIndex]; + let artistName = artist.name; + let requiredString = "the artist at index " + desiredIndex + " is " + artistName; + return requiredString; } +console.log("Task 3:", getArtistByIndex(artists, 8)); +console.log("Task 3:", getArtistByIndex(artists, 0)); @@ -244,10 +250,15 @@ Use listOfNames to do the following: 🌟 EXAMPLE of return: ["Amedeo Modigliani", "Vasiliy Kandinskiy", "Diego Rivera"....] */ -function listOfNames(/*Your Code Here*/) { - /*Your Code Here*/ +function listOfNames(artistArray) { + let copyArtistArray = [...artistArray]; + for(let i = 0; i < copyArtistArray.length; i++){ + let currentArtistName = copyArtistArray[i].name + copyArtistArray[i] = currentArtistName + } + return copyArtistArray; } - +console.log("Task 4:", listOfNames(artists)); /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Task 5: πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ @@ -259,10 +270,12 @@ Use removeArtist to do the following: 5. Return the resulting copied array 🌟 EXAMPLE: if removeArtist is invoked with the artists array and the number 0, it will return the resulting array with Amedeo Modigliani removed from our dataset. */ -function removeArtist(/*Your Code Here*/) { - /*Your Code Here*/ +function removeArtist(artistArray, desiredIndex) { + let copyArtistArray = [...artistArray]; + copyArtistArray.splice(desiredIndex, 1); + return copyArtistArray; } - +console.log("Task 5:", removeArtist(artists, 0)); /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Task 6: πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ @@ -281,10 +294,20 @@ Use addArtist to do the following: 5. Add the newly created object to the copied array, then return the copied array 🌟 EXAMPLE: Invoking addArtist(artists, 'John Doe', '1988-2022', 'Full Stack Development', 'African American', 'I have a background in customer service at Big Retail Chain. I am attending BloomTech to become a Frontend Developer.') should return the artists array with the above object added to the end of the array. */ -function addArtist(/*Your Code Here*/) { - /*Your Code Here*/ -} +function addArtist(artistArray, name, years, genre, nationality, bio) { + let copyArtistArray = [...artistArray]; + let newArtist = { + name: name, + years: years, + genre: genre, + nationality: nationality, + bio: bio, + } + copyArtistArray.push(newArtist); + return copyArtistArray; +} +console.log("Task 6:", addArtist(artists, "John Doe", "1988-2022", "Full Stack Development", "African American", "I have a background in customer service at Big Retail Chain. I am attending BloomTech to become a Frontend Developer.")); /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Task 7: πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ @@ -295,10 +318,17 @@ Use lotsOfArt to do the following: 🌟 EXAMPLE: lotsOfArt(artists) will return ["Amedeo Modigliani", "Rene Magritte", ... "Albrecht DΓΌrer"] */ -function lotsOfArt(/*Your Code Here*/) { - /*Your Code Here*/ +function lotsOfArt(artistArray) { + let lostsOfArtNames = [] + for(let i = 0; i < artistArray.length; i++){ + let currentArtistCount = artistArray[i].paintings + if(currentArtistCount > 100 ){ + lostsOfArtNames.push(artistArray[i].name) + } + } + return lostsOfArtNames; } - +console.log("Task 7:", lotsOfArt(artists)); /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Task 8: πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ @@ -311,10 +341,15 @@ Use artistInfo to do the following: "Frida Kahlo de Rivera (Spanish pronunciation: [ˈfΙΎiΓ°a ˈkalo]; born Magdalena Carmen Frida Kahlo y CalderΓ³n; 6 July 1907 – 13 July 1954) was a Mexican artist who painted many portraits, self-portraits and works inspired by the nature and artifacts of Mexico. Inspired by the country's popular culture, she employed a naΓ―ve folk art style to explore questions of identity, postcolonialism, gender, class and race in Mexican society. Her paintings often had strong autobiographical elements and mixed realism with fantasy. In addition to belonging to the post-revolutionary Mexicayotl movement, which sought to define a Mexican identity, Kahlo has been described as a surrealist or magical realist.Born to a German father and a mestiza mother, Kahlo spent most of her childhood and adult life at her family home in CoyoacΓ‘n, La Casa Azul, now known and publicly accessible as the Frida Kahlo Museum. She was disabled by polio as a child. Until a traffic accident at age eighteen caused lifelong pain and medical problems, she had been a promising student headed for medical school. During her recovery, she returned to her childhood hobby of art with the idea of becoming an artist." */ -function artistInfo(/*Your Code Here*/){ - /*Your Code Here*/ +function artistInfo(artistArray, artistName){ + for(let i = 0; i < artistArray.length; i++){ + let currentArtistName = artistArray[i].name + if(currentArtistName == artistName){ + return artistArray[i].bio + } + } } - +console.log("Task 8:", artistInfo(artists, "Frida Kahlo")); /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Task 9: πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ @@ -327,10 +362,21 @@ Use artistByCountry to do the following: 🌟 EXAMPLE: Invoking artistByCountry(artists, 'Spanish') will return: [ 'Salvador Dali', 'Pablo Picasso', 'Francisco Goya'] */ -function artistByCountry(/*Your Code Here*/){ - /*Your Code Here*/ +function artistByCountry(artistArray, nationality){ + let artistNames = [] + for(let i = 0; i < artistArray.length; i++){ + let currentNationality = artistArray[i].nationality + currentNationality = currentNationality.split(",") + if(currentNationality.length > 1){ + continue + } + if(currentNationality[0] == nationality){ + artistNames.push(artistArray[i].name) + } + } + return artistNames; } - +console.log("Task 9:", artistByCountry(artists, "Spanish")); /* ***** END OF TASKS ***** */ diff --git a/package-lock.json b/package-lock.json index 48103f21c..0f48f45e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "codegraded-project-js", - "version": "0.0.8", + "version": "0.0.9", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "codegraded-project-js", - "version": "0.0.8", + "version": "0.0.9", "devDependencies": { "@babel/core": "7.17.5", "@babel/plugin-transform-runtime": "7.17.0",