Quiz 1
/*
- Quiz.
아래 요구사항에 맞는 코드를 작성하고
브라우저에서 실행하여 테스트하세요.
- 요구사항
1. 변수에 배열 ['유노윤호', '최강창민', '영웅재중', '믹키유천', '시아준수']을 저장하세요.
2. 사용자에게 삭제할 멤버 이름을 입력받고 해당 멤버를 배열에서 삭제시킨 뒤 삭제 완료 후의 배열을 출력해서 보여주세요.
3. 배열에 없는 이름을 입력하면 'xxx는 잘못된 이름입니다.'라고 출력한 후 다시 삭제할 이름을 입력할 수 있도록 하세요.
4. 전체멤버를 정확하게 삭제할때까지 프로그램은 계속되어야 합니다.
*/
나의 코드 (수정 전)
// 멤버 이름
// var tvxq = ['유노윤호', '최강창민', '영웅재중', '믹키유천', '시아준수'];
// 삭제할 멤버 이름 입력받기
// var memberName = prompt('삭제할 멤버의 이름을 쓰세요');
// var index = tvxq.indexOf(memberName);
// 멤버 삭제하기
// var removeMember = tvxq.includes(memberName);
// if (removeMember === true) {
// tvxq.splice(index, 1);
// } else {
// alert(`${memberName}은 잘못된 이름입니다`);
// }
// while (tvxq.length > 0) 로 묶어서 따로 if문 없이 종료 가능
// while(true) {
// if (tvxq.length === 0) {
// alert('모두 삭제 되었습니다');
// break;
// } else {
// var memberName = prompt('삭제할 멤버의 이름을 쓰세요');
// var index = tvxq.indexOf(memberName);
// var removeMember = tvxq.includes(memberName);
// tvxq.includes(memberName)를 if 괄호안에 그냥 넣어서 불필요한 위 코드와 아래 괄호 안 코드를 삭제 할 수 있다.
// if (removeMember === true) {
// tvxq.splice(index, 1);
// alert(tvxq);
// continue;
// } else if (memberName !== tvxq) {
// alert(`${memberName}은 잘못된 이름입니다`);
// continue;
// }
// }
// } /// continue 굳이 필요 없음.
나의 코드 (수정 후)
var tvxq = ['유노윤호', '최강창민', '영웅재중', '믹키유천', '시아준수'];
while (tvxq.length > 0) {
var deleteName = prompt("삭제할 멤버의 이름을 쓰세요");
var index = tvxq.indexOf(deleteName);
if (tvxq.includes(deleteName)) {
tvxq.splice(index, 1);
alert(`남은 멤버: ${tvxq}`);
} else if (deleteName !== tvxq) {
alert(`${deleteName}은 잘못된 이름입니다`);
}
} alert('모든 멤버가 삭제되었습니다');
코드는 가능한 불필요한 코드를 삭제해주고 가장 중요한 것은 논리를 잘 쪼개서 보는 사람이 보기 편해야 한다는 것이다.
불필요한 continue를 삭제하고 굳이 중복되는 코드를 삭제해주었다. 단계적으로 나누는 방식이 보다 목표점에 가는데까지 수월한 것 같다.
'JavaScript' 카테고리의 다른 글
JavaScript* 객체 응용 (1) | 2024.03.26 |
---|---|
JavaScript* 객체 기초 (1) | 2024.03.26 |
JavaScript* 배열 (array) 요소 복사 및 삭제, 삽입 (0) | 2024.03.26 |
JavaScript* 배열 Quiz 1,2 (0) | 2024.03.25 |
JavaScript* 배열(array) 기초 및 요소 추가삭제. (0) | 2024.03.25 |