[HTML] 배열(Array)

비타민규·2023년 8월 4일

[HTML]

목록 보기
11/25

배열(Array) : 순서가 있는 컬렉션을 저장할 때 사용하는 자료구조

<script>
	let aa = new Array();
	// let aa = new Array(6); 아예 이렇게 6개라고 지정해주어도 됨
	// array(3)만 주고 아래서 aa[5]주어도 동적으로 알아서 잘 늘어난다
	aa[0] = 10;
	aa[1]='20' ;
	aa[5]="결과 확인";
	document.write('배열의 크기 : ',aa.length);
    	=> 6으로 출력(0부터 5까지 6개의 방이 만들어짐)
	document.write('<br>',aa[5],' ',aa[0], ' ',aa[1],' ',aa[3]);
	// aa[5], aa[0]이런건 값을 갖고 있는게 아니라 주소를 참조하고있는거임. 기본형 아니다
	// 참조형이다 = aa[5]가 객체를 갖고있는게 아니라 객체를 참조한다
	
	document.write('<br>');
	let bb = new Array(10,20,30); // 선언과 동시에 초기치 부여
	for(let i=0; i<bb.length; i++){
		document.write(bb[i]+" ");
		let test = []; // 비어있는 배열 선언. 배열 리터럴 선언
		test.push(1); // 배열의 값을 밀어줄 땐 push
		test.push(2,3,4);
		for(let i=0; i<test.length; i++){
		document.write(test[i]+" ");
	}}
	
	let animal=["댕댕이","냥이","호돌이"];
	for(let i=0; i<animal.length; i++){
		document.write(animal[i]+" ");
	}
</script>

Array함수와 연관된

<script>	
	배열 요소 값은 자료형에 제한이 없다. 왜냐, 값이 아니라 참조형 들이기 때문에
    
	let arr = ['안녕',{name:'홍길동'},true,12.3,function(){return 10;}];
	document.write(arr[0]);
	document.write(arr[1].name);
	document.write(arr[4]()); // 메소드랑 다를게 없음
	
	배열 요소 값을 삭제
	let ar=["I",'go','home'];
	delete ar[1]; // 1번째 요소값인 go삭제함. 자리는 유지
	document.write(ar,' ',ar.length); 
	ar=["I",'go','home'];
	ar.splice(1,1); // 인덱스 1부터 요소 1개를 삭제
	document.write(ar,' ',ar.length); // 자리까지 지워짐
	
	// splice는 추가도 가능
	ar.push(10);
	ar.splice(ar.length,0,'kbs','mbc'); // 추가
	ar.splice(0,0,'sbs'); // 삽입
	for(let i=0; i<ar.length; i++){
		document.write(ar[i]+" ");
	}
 </script>

splice 정리 예시
const arr3 = [1, 2, 3];
arr3.splice(1, 0, 'a', 'b'); 0번째, 1번째 이후에 0개를 삭제하고 그 뒤에 a,b를 넣어준다.
document.write(arr3);
결과 : [1, 'a', 'b', 2, 3]

<script>
	document.write('<br>배열요소 추가, 삭제<br>');
	let a=[];
	a[0]="a";
	a[1]="b";
	a.push("c");
	a.push("d","e");
	
	for(let i=0; i<a.length; i++){
		document.write(a[i] + " ");
	}
   
	a.pop(); // 배열의 마지막 요소 삭제. 배열 크기 감소
	a.shift(); // 배열의 첫 요소 삭제. 배열 크기 감소
	for(let i=0; i<a.length; i++){
		document.write(a[i] + " ");
	}
</script>

<script>
	
	document.write('<br>구조 분해 연산자');
	let [kbs,mbc] = [9,11];
	document.write('<br>',kbs,' ',mbc);
	
	document.write('<br>');
	let digits = [...'0123abc'];
	for(let i=0; i<digits.length; i++){
		document.write(digits[i] + ", ");
	}
	
	document.write('<br>');
	let imsi = [1,2,3];
	let imsi2 = [0,...imsi,4];
	for(let i=0; i < imsi2.length; i++){
		document.write(imsi2[i] + ", ");
	}	
</script>

profile
같이 일하고 싶은 개발자가 되어야지

0개의 댓글