Problem
- 랜덤으로 생성된 수의 중복을 없애는 로직에 대한 고민
- VS Code 프로그램 터미널을 통해서만 확인할 수 있도록 개발시간을 줄이는 방법에 대한 고민
Try & Solution
- Math.random() 메서드를 사용하여 랜덤한 수를 생성했지만 중복을 제거하기 위해 indexOf를 사용
let arr = []
while (arr.length < 3) {
let ran = Math.floor(Math.random()*10)
if(arr.indexOf(ran) < 0) {
arr.push(ran)
}
}
- VS Code에서 작성한 코드를 웹사이트를 열고, 개발자 도구를 열어가며 디버깅하는 중에
페어분이 터미널에 입력값을 받아가며 코딩하는 것을 참고함
require 함수를 통해 readline 모듈을 불러온다.
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on('line', (line) => {
// 입력 받은 값을 처리하는 코드 //
rl. close();
});
rl.on('close', () => {
// 입력이 끝나고 실행하는 코드 //
process.exit();
});
- on() 메서드를 활용하여 이벤트와 콜백함수를 전달
- 'line' 입력 받은 값을 한 줄씩 읽어 문자열 타입으로 전달하는 역할을 하는 이벤트
- rl.close() 인터페이스를 종료 무한히 입력 받는 것을 방지
그 후, 다시 이벤트로 close를 작성하여 입력이 끝난 후 실행되어야 할 함수를 작성