복습 5 - 반복문, 1차배열

2025. 1. 17. 10:51·Web
더블 반복문으로 결과값 출력 
첫번째 숫자 : <input type="text" id="no"><br>
두번째 숫자 : <input type="text" id="no2"><br>
<input type="button" value="실행" onclick="abc()">
var abc = function() {

	var no = document.getElementById("no");
	var no2 = document.getElementById("no2");

	var ck1 = Number(no.value);	//숫자 자료형에 문자 들어갈 경우 NaN
	var ck2 = Number(no2.value);
	if (isNaN(ck1) || isNaN(ck2)) {	//==true 쓴것과 같 
		alert("숫자를 입력하셔야 합니다.");
	} else {	//두개의입력값이 모두 숫자로 등록되었을 경우
		if(ck1 > ck2){	//숫자1이 클 경우 (내림차순)
			gugu_for1(ck1,ck2);
		}else if(ck1<ck2){	//숫자2가 클 경우 (오름차순)
			gugu_for2(ck1,ck2);
		}else{
			
		}
	}
}

var f, ff;	//반복문에 사용하는 전역변수 

var gugu_for1 = function(ck1,ck2){	//내림차순 구구단 
	for(f=ck1;f>=ck2;f--){	//역순
		for(ff=1;ff<=9;ff++){	//1~9
			console.log(f + " * " + ff + " = " + f*ff);
		}
	}
}

var gugu_for2 = function(ck1,ck2){	//오름차순 구구단 
	for(f=ck1;f<=ck2;f++){	//
		for(ff=1;ff<=9;ff++){	//1~9
			console.log(f + " * " + ff + " = " + f*ff);
		}
	}
}
  • Number() 이용해서 문자인지 숫자인지 체크
  • Number()로 변환한 자료를 isNaN()으로 체크해서 if문에 이용
  • 다양한 함수 형태 이용해보기 

⭐️name 속성을 사용하지 말아야할 태그

  • Object 태그 : div, span, label, ul, ol, table, p 등등
  • Input 태그 : button, submit, reset
  • form 태그
    • 사용자가 키보드나 마우스로 작동시키는것은 name값을 가지지만 이쁘게 보여지는것은 name값이 없어서 작동하지않음 
구구단 짝수 홀수단 선택하여 출력
<p>구구단 짝수, 홀수</p>
숫자1 : <input type="text" id="no" maxlength="1"><br>
숫자2 : <input type="text" id="no2" maxlength="1"><br>
<select onchange="gugu(this.value)">
<option value="">결과값 선택</option>
<option value="even">짝수</option>
<option value="odd">홀수</option>
</select>
var gugu = function(z) {
	var no = document.getElementById("no");
	var no2 = document.getElementById("no2");

	if (no.value == "") {
		alert("숫자 1번 값을 입력하세요");
		no.focus();	//focus() : 해당 오브젝트에 커서를 이동시킴
	} else if (no2.value == "") {
		alert("숫자 2번 값을 입력하세요");
		no2.focus();
	} else {
		//여기서 짝홀 조건거는것보다 z를 태워서 함수하나로 다 하는게 더 좋음!!!
		gugu_view(no.value, no2.value, z);	//value로 날리기 주의!@
	}
}

var gugu_view = function(no, no2, z) {
	var check;

	if (z == "odd") {
		check = 1;
	} else if (z == "even") {
		check = 0;
	}

	var w = no;	//숫자1
	while (w <= no2) {
		if (w % 2 == check) {
			var ww = 1;
			while (ww <= 9) {	//1~9
				console.log(w + " * " + ww + " = " + w * ww);
				ww++;
			}
		}
		w++;
	}
}
  • focus() : 해당 오브젝트에 커서를 이동시킴 //로그인틀렸을때 자동이동!!
  •  값 보낼때 .value 쓰기 // 자주 실수함!
  • 변수형태 함수가 좋은 이유
    • 이미 존재하는 함수와 이름이 중복되는 경우에도 작동함 => 함수를 다 몰라도 이름때문에 오류가 안남
    • 함수 맨 앞에 대문자 쓰는것도 좋음 // 기존함수는 대문자로 시작하는 함수가 없기때문
data1 배열은 짝수값만 출력
data2 배열은 홀수값만 출력 
var evod_data = function(){
	var i = 0;
	while(i<data1.length){
		if(data1[i]%2==0){
			console.log(data1[i]);
		}		
		i++;
	}
	
	i = 0;
	while(i<data2.no.length){
		if(this.data2.no[i]%2==1){
			console.log(data2.no[i]);
		}		
		i++;
	}
}

 

data2 키배열의 값을 모두 합한 값을 출력 
var sum_data = function(){
	var i = 0;
	var sum = 0;
	while(i<data2.no.length){
		sum+=data2.no[i];
		i++;
	}
	console.log(sum);
}

 


var a1 = 10;
var a2 = 20;
var a3 = 30;
var a4 = 40;

for(var j=1;j<=4;j++){
	console.log(eval("a"+j));
}
  • eval : 변수를 배열처럼 사용할 수 있게 해줌
    • 문자열을 변수로 변환
저작자표시 비영리 변경금지 (새창열림)
'Web' 카테고리의 다른 글
  • 복습 7 - 2차key배열
  • 복습 6 - 2차원시배열
  • HTML + Javascript 5 [배열]
  • HTML + Javascript 4 [팝업, 복합함수]
9na0
9na0
응애
  • 9na0
    구나딩
    9na0
  • 전체
    오늘
    어제
    • 분류 전체보기 (211)
      • Web (118)
      • Java (28)
      • 데이터베이스 (14)
      • 세팅 (12)
      • 과제 (3)
      • 쪽지시험 (2)
      • 정보처리기사 (4)
      • 서버 (25)
  • 블로그 메뉴

    • 링크

      • 포폴
      • 구깃
    • 공지사항

    • 인기 글

    • 태그

      file25_t
      net2
      spring-boot
      java_io1~10
      re_java10
      macbook pro m4
      net5~10
      exam1_1~10
      net3
      file25
      datalist
      ab1
      net4
      noticewriteok
      file24
      io_dto
      Oracle
      net1
      re2
      notice_writer
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    9na0
    복습 5 - 반복문, 1차배열
    상단으로

    티스토리툴바