배열 함수 = 변수 1 : 저장데이터 多
수식1
var 변수(instance name) = new Array();
변수[0]="값1"
변수[0]="값1"
변수[0]="값1"
수식2
var instance name = new Array(3);
수식3
var instance name = [값1, 값2, 값3];
method
- reverse() : 역순 변환
var theFood = ["자장면", "냉면", "갈비탕", "돈까스", "삼겹살"];
theFood.reverse();
console.log(theFood);
- slice( 1, 2 ) : index 1 ~ 2 직전까지 변환
var userName = ["김태희", "전지현", "송혜교", "수지", "아이유"];
var result = userName.slice( 2, 4 );
console.log(result);
- sort() : 오름차순
var theSubway = ["2호선", "9호선", "7호선", "4호선", "3호선"];
theSubway.sort(); //sort = 문자 위주 정렬
console.log(theSubway);
- join( "/" ) : 구분자( '/ ' 라던가 )로 데이터 연결
var product = ["냉장고", "컴퓨터", "선풍기", "밥솥", "핸드폰"];
var joinResult = product.join("-"); //join : 쪼인트 시켜버리기
console.log(joinResult);
- concat() : 결합
var Mountain1 = ["백두산", "청계산", "한라산", "광교산", "설악산"];
var Mountain2 = ["지리산", "남산", "북한산", "관악산", "배봉산"];
var joinResult = Mountain1.concat(Mountain2); //배열 합치기
console.log(joinResult);
- shift() : 첫 index[ 0 ] 데이터 삭제
- pop() : 마지막 index 데이터 삭제
- splice( 값, n ) : 지정 값부터 n개 삭제
- unshift( 값 ) : 첫 index [ 0 ]에 new data 중첩 추가
- push( 값 ) : 마지막 index에 new data 중첩 추가
var theSubway = ["2호선", "9호선", "7호선", "4호선", "3호선"];
var newLine1 = "1호선";
var newLine2 = "2호선";
console.log(theSubway);
theSubway.shift(); //첫번째 삭제
console.log(theSubway);
theSubway.pop(); //마지막 삭제
console.log(theSubway);
theSubway.unshift(newLine1);
console.log(theSubway);
theSubway.push(newLine2);
console.log(theSubway);
예제 1. 가상의 조에서 조장 랜덤뽑기
var userName = new Array();
userName[0] = "서강준";
userName[1] = "김태형";
userName[2] = "박서준";
userName[3] = "최우식";
userName[4] = "송강";
console.log(userName);
var ran = Math.floor(Math.random()*5);
document.write(userName[ran] +"<br>");
-
var ran = Math.floor(Math.random()*5);: 숫자가 아닌 이름으로 결과를 출력하고 싶은 경우 번호를 뽑아서 배열index로 써야 이름 치환됨
예제 2. 먹고 싶은 음식 랜덤뽑기
var theFood = ["자장면", "냉면", "갈비탕", "돈까스", "삼겹살"];
var ran = Math.floor(Math.random()*5);
document.write("먹고 싶은 음식 : " + theFood[ran] + "<br>");
예제3. 오늘 무슨 요일이게?
var today = new Date();
var nowDay = today.getDay();
var days = new Array("일","월","화","수","목","금","토");
console.log(days);
document.write("오늘은 " + days[nowDay] + "요일" + "<br>");
예제4. 금액 계산
var money = [100, 100, 200, 50];
var total = 0;
for (var i = 0; i < money.length; i++) {
// total = total + money[i];
total +=money[i];
}
document.write(total +"<br>");
예제5. 로또 번호 추첨
// 로또
var lotto = []; //로또 저장
var aryLotto = []; // 1~45 저장, [0]=1
var idx = 0;
for (var i = 1; i < 46; i++) {
aryLotto.push(i);
}
while (lotto.length < 6){
idx=Math.floor(Math.random()*aryLotto.length);
lotto.push(aryLotto[idx]);
aryLotto.splice(idx, 1); //idx 부터 1개 삭제
}
for(k=0;k<6;k++){
document.write("로또"+ k + " :" + lotto[k] + "<br>");
}
더보기
이 배열함수를 이용하면 테트리스를 js로 만들 때 모양 랜덤 가능하다고 생각함
(아마 만든 사람들 많겠지..?)