본문 바로가기
CLASS/HTLML,CSS,JS

#6-1 / 배열,랜덤함수

by eungSe__ 2024. 4. 25.

✅ 배열
배열 : array (1차원 , 2차원.. 다차원 배열)


배열 번호는 0부터 시작
데이터를 나열 시켜서 연속성있게  구성된 구조
데이터베이스에 아주 중요하다
배열 데이터는 삽입,삭제,수정이 가능하다(유동성)

⚡ 1차원 배열
var data = [10,5,16,22,8]; //배열 리스트 데이터(1차 배열)
console.log(data[3]); //배열 출력 방식-배열 번호로 출력

/*--------반복문을 이용한 배열 데이터 출력--------*/
var ea = data.length; //배열 갯수 확인
var f;
for(f=0; f < ea; f++){
    console.log(data[f]);
}

/*-----------반복문 이용 배열 합계-----------*/

//중간에 배열 변경,수정할 일이 없으면 const 사용
const data = [10,8,6,55,34,72];
var a;
var sum = 0;
for(a=0; a < data.length; a++){
	//*, /, - 는 문자 숫자 관계가 없이 계산하지만 +는 자료형 변환을 확인하여 연산 작업 해야함
    sum += Number(data[a]);
}
console.log("배열 합계 + " + sum)

/*
    [응용문제]
    데이터는 다음과 같이 정렬 되어있습니다.
    해당 데이터를 이용하여 모든 값을 다 곱하는 최종 결과값을 출력하시오.
    단, do~while문을 사용합니다.
    [8,55,9,11,3,7]
*/

var test = [8,55,9,11,3,7];

var t = 0;
var sum_t = 1;
do{
    sum_t *= test[t];
    t++;
}while(t < test.length);
console.log(sum_t);
⚡ 2차원 배열
//2차배열의 기본 구조(복합, 문자 많이 사용)
var data = [  //각 데이터 갯수가 동일해야함
    ["홍길동","이순신","강감찬"],
    ["일반회원","실버회원","VIP회원"]
];

var gp = data.length; //그룹갯수

//데이터 출력 : 변수명[그룹번호][데이터번호]
//해당 그룹의 데이터 갯수
var ea = data[0].length; 

console.log(data[1][2]) //"VIP회원" 출력

//반복문으로 해당 그룹에 있는 데이터를 출력하는 방식
var f;
for(f=0; f < data.length; f++){
    console.log(data[0][f]) //첫번째 그룹의 데이터 각각 출력
}

/*-------------더블반복문 이용 데이터 출력------------*/
var c_data = [
    ["모니터" , "키보드", "마우스" , "무선공유기" , "헤드셋"],
    ["10%" , "5%" , "12%" , "3%" , "10%"],
    ["22300", "230000", "15000", "38000" , "34500"]
];

var gp = c_data.length; //그룹갯수
var dea = c_data[0].length; //데이터갯수

var z=0; //큰 반복문 초기값
while(z<gp){
    var x=0; //작은 반복문 초기값
    do{
        console.log(c_data[z][x])
        x++;
    }while(x<dea);
    z++;
}

/*
각 상품별 상품명-세일률-가격 순으로 출력
*/
var c;
for(c=0; c < c_data[0].length; c++){
    var cc;
    for(cc=0; cc< c_data.length; cc++){
        console.log(c_data[cc][c])
    }
}

 

 

✅ 랜덤함수

random : pc에서 무작위 숫자를 선택함(기본속성은 소숫점)

JAVA랑 형태가 걍 똑같음

// Math.random() : 랜덤함수를 선언
// *10 : 0 ~ 9.999999 (범위를 말합니다)
var a = Math.random()*10;
console.log(a);

// ceil : 소숫점 올림 => 1~10 출력 (0은 나올 수 없음)
var b = Math.ceil(Math.random()*10);
console.log(b);

// floor : 소숫점 절삭 => 0~9 출력 (10은 나올 수 없음)
var c= Math.floor(Math.random()*10);
console.log(c);

// round : 소숫점 반올림 => 0~10 출력
var d= Math.round(Math.random()*10);
console.log(d);

 

- 랜덤 함수 이용한 인증번호 활용

//0~9숫자 조합-절삭써야함(인증번호는 자릿수가 정해져있기 때무에 한자리씩 뽑아서 조합)

var security = ""; //숫자면 다 더해버리기 때문에 문자로 선언

var f;
for(f=0; f < 4; f++){ //네바퀴(==네자릿수 인증번호)
    var num = Math.floor(Math.random()*10);
    security = security + num;
    //문자+숫자 => 결론은 문자화 되어 사칙연산이 안됨
}
console.log(security)

 

'CLASS > HTLML,CSS,JS' 카테고리의 다른 글

#7-1 / checkbox,radio 핸들링  (0) 2024.04.26
#6-2 / HTML + Javascript(video,input value(로그인))  (0) 2024.04.25
#5-2 / Js(함수)  (0) 2024.04.24
#5-1 / Js(반복문,선택문)  (0) 2024.04.24
#4 / Js.1  (0) 2024.04.23