본문 바로가기

자바스크립트80

filter 함수 사용법 자바스크립트내에는 요소들을 돌며 체크해서 조건에 맞는 것만 배열로 리턴시켜주는 filter라는 함수가 있다 요소를 돌아야 하므로 배열이나 문자열같은 반복자가 돌 수 있는 곳만 사용 가능하다 기본 형태는 다음과 같다 배열.filter(요소의 조건을 체크할 함수) // 배열 외에 문자열 등도 가능 반드시 3개의 인자를 다 쓸 필요는 없으며 필요하면 1, 2, 3 개의 인자를 자유롭게 사용하면 된다 예를 들어 arr = '1, 2, 3, 4, 5'; 라고 할때 이를 요소별로 나누고(split), 나눈 요소들이 조건에 맞는 것만 취하려고 할때(filter) 를 사용하면 된다 위의 arr 중에 3이상인 요소만 따로 배열 arr2로 받으려고 하면 // 앞 뒤 공백이 없으니 trim 은 생략하겠다 arr2 = arr.. 2022. 8. 12.
빈 문자열을 split 하면 빈 문자열이 담긴 배열을 리턴한다 주어진 문자열이 빈 문자열이고 그 빈 문자열을 split 하면 빈 문자열이 배열에 담겨 리턴된다 배열이 빈게 아니라 빈 문자열이 그대로 배열에 담기게 되니 주의하자 let arr = []; input = ''; arr = input.trim().split(' '); // 공백 말고도 split(/\s+/) 과 같이 정규 표현식으로 해도 마찬가지 결과다 console.log(arr) // [""] 빈 문자열이 하나의 요소로 들어가므로 arr.length === 1 이 되고 arr[0] = '' 이 된다 진짜 자바스크립트 넌 왜 이렇게 만들었대; 아오... 2022. 8. 12.
split 으로 나눌때 공백이 두 개 이상일 경우 문자열의 앞 뒤로 공백이 여러개라면 trim() 을 쓰면 앞 뒤로 공백이 1개던 5개던 모두 사라진다 하지만 str = ' 사자 곰 호랑이 코알라 뱀 돼지 ' 라는 문자열을 공백을 제거하여 나누어서 배열에 담으려 할때 단순히 앞 뒤로 공백을 제거하자 하고 다음처럼 arr = str.trim().split(' '); // arr = [사자,곰,,호랑이,,,코알라,,,,,뱀,,,,,,,,,,,,,,,,,,돼지] error야 꺄악! 나누면 에러가 생긴다. 각 요소들 사이의 공백도 구분자로 인식하게 되어 공백을 요소로 인식해서 생기는 문제이다 이럴땐 요소간의 공백이 여러개여도 무시할 수 있도록 정규표현식을 사용하면 된다 아직 정규표현식을 배우진 않았지만 자주 쓰일것 같으니 일단 외워서 쓰며 익숙해지자 사용법은 .. 2022. 8. 12.
readline 한 줄 씩 입력 받기 언어마다 코딩테스트의 입출력시에 자주 쓰이는 것들이 있다 input, cin, scanf, getline 등등 각각 공백을 기준으로나 줄을 기준으로 입력을 받는다 자바스크립트도 공백을 기준으로 한 input 이 있지만 줄단위로 입력을 받는 readline 모듈이 존재한다 자바스크립트의 내 내장 모듈로서 readable 스트림에서 rereadline 모듈을 이해해보자 기본 형태는 아래와 같다 const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on("line", (line)=>{ /*입력 받는 값을 처리하는 코드*/ rl.clos.. 2022. 8. 6.