Functional Approach
7829 단어 ES6JavaScriptES6
JavaScript를 사용 시 함수 자체가 객체로 취급되므로 함수를 인자로 넣는 등 함수 활용을 많이해서 함수형 언어로 보는 사람도 있다고 한다.
const people = [
{
age: 26,
city: '서울',
pet: ['cat', 'dog'],
},
{
age: 40,
city: '부산',
},
{
age: 31,
city: '인천',
pet: ['cat', 'dog'],
},
{
age: 32,
city: '제주',
pet: ['cat'],
}
]
A. 30대 미만이 한 명이라도 사는 모든 도시 구하기
// For Loop 방식
function solveA() {
const cities = [];
for (const person of people) {
if(person.age < 30) {
// 중복되는 도시를 넣지 않기 위해
if(!cities.find((city) => person.city === city)) {
cities.push(person.city);
}
}
}
return cities;
};
// 함수형 방식
function solveAModern() {
// allCities는 모든 도시들의 이름을 가진 배열
const allCities = people.filter(person => pereson.age < 30).map((person) => person.city);
// 도시 이름 중복을 걸러내기 위해서
// 중복이 허용되지 않는 집합 set을 만들고
const set = new Set(allCities);
// 어레이로 변환 후 리턴
return Array.from(set);
}
console.log('solveA', solveA());
console.log('solveAModern', solveAModern());
Author And Source
이 문제에 관하여(Functional Approach), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@100pearlcent/Functional-Approach저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)