// 아래 함수는 배열을 입력받아서 배열 요소들 중 truthy한 요소들만 필터링하여 반환합니다.
// Truthy 란 boolean type을 기대하는 문맥에서 true 로 평가되는 값을 의미합니다.
// for문과 if문을 이용하여 작성해 보세요.
function getTruthyArray(arr) {
const truthyArr = [];
for (const a of arr) {
if (a) truthyArr.push(a);
}
return truthyArr;
}
const result = getTruthyArray( [ -1, 0, "", {}, [], null, undefined, NaN ] );
console.log(result);
// 출력 결과: [-1, {}, []]
0, 빈문자열(""), null, undefined, NaN 값들은 불린타입을 알 수 없으므로 제외한다.
프로그래머스의 알고리즘이 조금 더 어려워졌다.
로직도 조금 잘 파악해야하고
문법에 대한 이해와 같이 하려니까 피곤하다..
그냥 JS 예제 문제를 푸는게 좋을 것 같다.
이게 뭔가 프로그래머스 처럼 바로바로 풀 수 있는 형태가 아니여서 그냥 시간도 없고 답답해서 넘어갔는데
Quokka 라는 확장프로그램을 통해서 바로바로 결과값을 볼 수 있어서
이걸 사용해서 풀면 효율적으로 풀 수 있을 것 같다.
폼 데이터(form data)란 HTML 요소인 <form> 태그에 실려 전송되는 데이터를 말합니다. 다들 인터넷 게시판에 글을 써 본 적이 있을 것입니다. 내용을 입력하고 [전송] 버튼을 누르면 게시글이 올라가는데요. <form> 태그는 이렇게 웹 브라우저에서 서버로 데이터를 전송할 때 사용합니다.
https://thebook.io/img/080354/098_1.jpg
그림 3-1 <form> 태그의 데이터 전송
<form> 태그는 택배에 비유할 수 있습니다. 택배를 보낼 때 송장에 수령자와 배송 형태(익일 배송, 새벽 배송 등)를 적습니다. <form> 태그도 데이터를 전송할 때 어디로(where), 어떻게(how) 보낼지 등을 적어서 보냅니다.
미들웨어
미들웨어 길목이다. 넥스트로 가면은 그 다음 미들웨어로 가는 건데,
리스폰스 샌드 이런거 하면 바로 그냥 리스폰스로 훅 넘어가지는 것이다.
에러발생하게 된다. 이미 리스폰스 보냈기 때문.
Cannot set headers after they are sent to the client
이런식으로 마지막 미들웨어 입니다. 를 실행하게 됐을 때 리스폰스 두번이 안되니까 터미널에는 이렇게 뜨게 된다.