전체 글 132

error: Cannot set headers after they are sent to the client

error: Cannot set headers after they are sent to the client - 하나의 라우터에서 응답(res)을 2번이상 보낼 경우 발생(미들웨어 포함) - 응답(send sendFile json 등) 2번 이상 보낼 경우 error const express = require("express"); const path = require("path"); const app = express(); app.set("port", process.env.PORT || 3000); app.get("/", (req, res) => { res.send("Node Server"); res.sendFile(path.join(__dirname, "index.html")); }) app.use((e..

기타/에러 2022.02.27

JavaScript concat

JavaScript concat 인자로 주어진 배열이나 값을 기존 배열과 합쳐 새 배열 return 기존 배열 변경하지 않음(얕은 복사) - concat() const array = ["로니콜먼", "브렌치워렌", "리치피아나", "숀클로리다"] const copyArray = array.concat(array); console.log(copyArray); // ['로니콜먼', '브렌치워렌', '리치피아나', '숀클로리다'] - 12가지 색 랜덤 셔플 const array = ["red", "orange", "yellow", "green", "pink", "black"]; const copyArray = array.concat(array); let shuffle = []; for (let i = 0; c..

JavaScript splice slice

JavaScript splice slice splice 기존 배열 요소를 교체 삭제 추가하여 배열 변경 - splice() - 인덱스 0에 요소 0을 추가 const array = [1, 2, 3, 4, 5]; array.splice(0, 0, 0); console.log(array); // [0, 1, 2, 3, 4, 5] - 인덱스 0부터 요소 1개 삭제 const array = ["이재명", "윤석열", "심상정", "안철수"]; array.splice(0, 1); console.log(array); slice 다른 배열 얕은 복사 원본 배열은 수정되지 않음 - slice() - 인덱스 0부터 5까지 복사(end는 미포함 4까지) const array = ["red", "orange", "yello..

JavaScript 삼항 조건 연산자

JavaScript 삼항 조건 연산자 조건이 true/false에 따라 다르게 실행 - 조건문 ? 실행문(true) : 실행문(false) - 삼항연산자 - O/X를 번갈아 가며 콘솔 출력 let turn = "O"; setInterval(() => { console.log(turn); turn = turn === "O" ? "X" : "O"; }, 1000); - if문 if (turn === "O") { turn = "X"; } else if (turn === "X") { turn = "O"; } - 삼항연산자 - 20이상이면 성인 const age = 19; let result; (age >= 20) ? result = "성인" : result = "미성년자"; console.log(result);..

JavaScript map

JavaScript map 배열 메서드로 모든 요소들의 지정 함수 실행 후 새로운 배열 return - 매개변수는 element와 index - forEach와 같은 반복문이지만 return 값이 있다는 점에서 차이가 있음 - map() - 각 요소 * 10 const array = [1, 2, 3, 4, 5]; const res = array.map((e, i) => e * 10); console.log(res); // [ 10, 20, 30, 40, 50 ] - 각 요소의 서울시 문자열 추가 const array = ["강동구", "강서구", "강남구", "강북구"]; const res = array.map((e, i ) => `서울시 ${e}`); console.log(res); // [ '서울시 ..

JavaScript forEach

JavaScript forEach 배열 메서드로 요소들을 반복하며 함수 실행 인수로 함수를 넣음 - 매개변수는 element와 index - 반복문보다 성능은 떨어지지만 배열의 다른 메서드와 연속으로 사용할 수 있음 - forEach() const array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; array.forEach((element, index) => { console.log(element) // 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 console.log(index) // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }) - 2중 반복문 요소 접근 const array = [ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12,..