본문 바로가기
📍 Front-End/🜸 JavaScript

[JavaScript30/Day-4] Array Cardio Day 1

by 예리Yelee 2021. 7. 17.
반응형

Q1. Filter the list of inventors for those who were born in the 1500's

Array.prototype.filter()를 이용해서 1500년대에 태어난 발명가 목록 필터링하기 

const result1 = inventors.filter(inventor => inventor.year >= 1500 && inventor.year < 1600);

 

Q2. Give us an array of the inventors' first and last names

Array.prototype.map()을 이용해서 성과 이름 return 하기

const result2 = inventors.map(inventor => `${inventor.first} ${inventor.last}`);

 

Q3. Sort the inventors by birthdate, oldest to youngest

Array.prototype.sort()를 이용해서 inventors 배열을 태어난 년도가 가장 오래된 순에서 최근 순으로

const result3 = inventors.sort((a,b)=>{
   if(a.year > b.year) {
     return 1;
   }else {
     return -1;
   }
});

 

Q4. How many years did all the inventors live?

Array.prototype.reduce()를 이용해서 inventor 나이 합 return

const result4 = inventors.reduce((total, inventor) => {
   return total + (inventor.passed - inventor.year);
}, 0);

 

Q5. Sort the inventors by years lived

inventor의 나이 정렬

    const result5 = inventors.sort((a,b)=>{
      let ageA = a.passed - a.year;
      let ageB = b.passed - b.year;

      if(ageA > ageB){
        return 1;
      }else{
        return -1;
      }
    })

 

Q6. create a list of Boulevards in Paris that contain 'de' anywhere in the name

 

Q7. sort Exercise (Sort the people alphabetically by last name)

People의 사람들을 lastname을 기준으로 알파벳순으로 정렬

const result7 = people.sort((lastOne, nextOne) => {
   const [firstNameA, lastNameA] = lastOne.split(', ');
   const [firstNameB, lastNameB]  = nextOne.split(', ');

   return lastNameA > lastNameB ? 1 : -1;
});

 

Q8. Reduce Exercise (Sum up the instances of each of these)

주어진 배열의 데이터들을 요약

const result8 = data.reduce((obj, item) => {
   if (!obj[item]) {
   obj[item] = 0;
   }
   obj[item]++;
   return obj;
}, {});



 

 

반응형

댓글