From 2422acbb0c4b524b38087a23176de271fa60bbb7 Mon Sep 17 00:00:00 2001 From: Alex Guillu Date: Thu, 4 Aug 2022 10:42:42 -0500 Subject: [PATCH] solved all tests for the challenge --- index.js | 89 ++++++++++++++++++++++++++++++++++------------- package-lock.json | 4 +-- 2 files changed, 66 insertions(+), 27 deletions(-) diff --git a/index.js b/index.js index 64863af87..8eefaf358 100644 --- a/index.js +++ b/index.js @@ -208,18 +208,18 @@ Practice accessing data above by console.log-ing following items: (no functions needed) */ //(1) Name of the first artist (0th index) in the array - - +console.log(artists[0].name) //(2) Bio of the third artist (2nd index) in the array - +console.log(artists[2].bio) /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ 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[9].name = "Vincent Van Gogh" +console.log(artists[9]) /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Task 3: πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Use getArtistByIndex to do the following: @@ -230,10 +230,10 @@ 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(array, number) { + return `the artist at index ${array[number].id} is ${array[number].name}` } - +console.log(getArtistByIndex(artists, 0)) /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Task 4: πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ @@ -244,10 +244,15 @@ Use copy to do the following: 🌟 EXAMPLE of return: ["Amedeo Modigliani", "Vasiliy Kandinskiy", "Diego Rivera"....] */ -function listOfNames(/*Your Code Here*/) { - /*Your Code Here*/ +function listOfNames(array) { + return array.map(a => {return a.name}); + // const cloneArray = [...array]; +// for (let i = 0; i < cloneArray.length; i++) { +// cloneArray[i] = cloneArray[i].name +// } +// return cloneArray } - + console.log(listOfNames(artists)); /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Task 5: πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ @@ -259,11 +264,15 @@ 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(array, number) { + const cloneArray = [...array] + + cloneArray.splice(number, 1); + + return cloneArray; } - +console.log(removeArtist(artists, 0)); /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Task 6: πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Use addArtist to do the following: @@ -280,11 +289,12 @@ Use addArtist to do the following: 4. Return the 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(array, name, years, genre, nationality, bio) { + array.push({name, years, genre, nationality, bio}); + return array; } - +console.log(addArtist(artists, 'Alex', '1997-2022', 'Full Stack Development', 'Polish', 'I am attending Bloomtech to become a Full Stack Developer.')) /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Task 7: πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Use lotsOfArt to do the following: @@ -294,11 +304,18 @@ 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(array) { + const newArray= [] + for (let i=0; i < array.length; i++){ + if(array[i].paintings > 100){ + newArray.push(array[i].name); + } + } + return newArray; } +console.log(lotsOfArt(artists)) /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Task 8: πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Use artistInfo to do the following: @@ -310,10 +327,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(array, artistsName){ + for(const artist of artists){ + if(artist.name === artistsName){ + return artist.bio + } + } +} +console.log(artists, 'Kazimir Malevich'); /* πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ Task 9: πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€ @@ -326,10 +348,27 @@ 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(array, national){ + let filteredArray = [] + for(const artist of artists){ + if(artist.nationality === national){ + filteredArray.push(artist.name); + } + } + return filteredArray; + } + + + + // let filteredArray = []; + // for(let i = 0; i < array.length; i++){ + // if(array.length[i] === national){ + // filteredArray.push(array[i]); + // } + // } + // return filteredArray; + +console.log(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",