[코캠]베이스캠프 5일차 | replace, for Each

badassong·2022년 10월 11일
0

JS

목록 보기
10/31
post-thumbnail

벌써 프리캠프 수강이 끝났다..!!
시간이 너무 빨리 지나가는 느낌,,ㅜ
오늘은 싸이월드를 마무리 하고, 프리캠프 동안 배웠던 자바스크립트를 총동원해서 회원가입 폼을 만들었다.

오늘은! 하루 동안 과제를 하면서 참고했던 부분들을 복습해 보겠당.

1. replace 메서드

주어진 문자열에서 각 단어가 몇 번 등장하는지 기록한 객체를 리턴하는 자스 문제 3-12를 풀면서 공부한 메서드인데,
문제를 풀다보니 특수문자를 제거해야 하는 경우가 생겨 참조하였다.

replace() 메서드는 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환한다.

replace메서드를 정규식으로 이용하면 특수문자를 제거할 수 있다.

function wordFinder(str) {
  let strSplit = str.replace(/[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/g,'')
}

2. for Each()

역시 3-12번 해결과정에서 찾은 함수이다.
for Each메서드는 for문을 대체할 수 있는 함수인데, 자신의 내부에서 반복문을 실행한다.

const arr = ['a', 'b', 'a', 'b', 'c'];

const result = {};
arr.forEach((element) => { 
  result[element] = (result[element] || 0)+1; 
});

console.log(result);
//{a: 2, b: 2, c: 1}

이 예제는 입력받은 배열 arr에서 중복되는 값의 갯수를 찾는 방법이다.

1. const arr = ['a', 'b', 'a', 'b', 'c'];
중복되는 값을 가지는 배열

2. const result = {};
중복된 값의 갯수를 저장하기 위한 Object를 선언

3. arr.forEach(callback함수);
배열(arr)의 각각의 원소들을 순서대로 callback함수에 전달하여 실행

4. result[element] = (result[element] || 0) + 1;
이 코드를 풀어쓰면

if(result[element]) {	
    result[element] = result[element] + 1;
} else {    
    result[element] = 0 + 1;
}

자세한 내용은 https://hianna.tistory.com/459

그리고 오늘 작업한 회원가입 폼!

profile
프론트엔드 대장이 되어보쟈

0개의 댓글