오늘은 똑같이 가게를 도와드리고 남는 시간에 알고리즘 문제와 포트폴리오 내용을 추가했다.
알고리즘 문제는 2문제 정도 풀었는데 결국 둘 다 틀렸고 풀이를 보며 접근했다.
중간 과정이나 거의 끝 과정까진 구했는데 문법적인 부분이 부족해서인지 마지막을 생각하지 못하는 게 많이 아쉽다.
그래서 월요일부터 미뤄뒀던 Javascript 강의를 차근차근 들어볼 생각이다.
객체와 배열, 화살표 함수, 비동기 등 모르는 단어가 많아서 풀이를 볼 때도 찾아보는 시간이 조금 있다.
어느 언어나 기술이든 시작할 때 문법적인 부분은 코딩 시간을 단축할 수 있는 가장 효율적인 방법이라고 생각한다.
더이상 미루지 말고 시간이 생기는대로 빨리 채우자.
오늘 문제를 풀며 filter()에 대해서 배웠는데 아직 애매하다.
filter()
filter함수는 배열의 각 요소를 순회하며 callback함수를 실행하며 조건에 맞는 요소만을 갖는 배열을 반환한다.
파라미터
예제
배열 속 숫자 중 홀수만 갖는 배열 만들기
const numbers = [1, 2, 3, 4, 5]; // 기존 배열
// filter1 - callback함수를 직접 작성
// 현재 요소를 2로 나눈 나머지가 1일 경우 홀수
const filter1 = numbers.filter(currentNumber => currentNumber % 2 === 1);
console.log('filter1 =', filter1);
//filter1 = [1, 3, 5]
또는
// filter2 - callback함수 선언 후 이용
function isOdd(currentNumber) {
return currentNumber % 2 === 1;
}
const filter2 = numbers.filter(isOdd);
console.log('filter2 =', filter2);
//filter1 = [1, 3, 5]
const friends = [
{
name: '영희',
age: 32,
job: '요리사',
married: false,
},
{
name: '민수',
age: 32,
job: '변호사',
married: false,
},
{
name: '철수',
age: 32,
job: '백수',
married: true,
}
];
// 자유인들만 뽑아봅시다.
const happyPeople = friends.filter((friend) => {
return friend.married === false;
})
console.log('현재 행복한 친구들.. ', happyPeople);
Result
[{
name: '영희',
age: 32,
job: '요리사',
married: false,
},
{
name: '민수',
age: 32,
job: '변호사',
married: false,
}];
아스키코드 변환
charCodeAt은 문자열 중 하나를 선택하여 아스키코드 번호로 변환해주는 함수
fromCharCode 는 아스키코드 번호를 받아 문자열을 구성해주는 함수
예시
"문자열".charCodeAt([문자열 자릿수]);
let val = "abCde"
console.log(val.charCodeAt(2))
// result : 67
String.fromCharCode([아스키코드값]);
let val = 111
console.log(String.fromCharCode(val))
// result : o
삼항 연산자 (Java에서 배웠는데 잊고 있었다.)
조건 ? true일 때 : false일때
알고리즘 문제 풀기
포트폴리오 내용 추가하기