본문 바로가기
웹프로그래밍/JavaScript

(5)Codeit_JavaScript기초강좌_5장

by 코잼민 2024. 10. 2.

1_ 배열 :

● 배열 vs 객체 선언법 :

  • 객체 : let Object = { 속성 : (속성)값 , .... , 속성 : (속성)값 } ; 
  • 배열 : let Array  = [ 요소1, 요소2 , .... , 요소n ]; 

2_ 출력법 //객체와 매우 비슷하다.

● for(let 변수 in 배열이름) console.log(배열이름[ 변수 ]);

3_ 사실 배열 ⊂ 객체 :

● " typeof 배열이름 " 를 출력해보면 ? => Object 출력

어쩌라고? => 그래서 객체뿐만 아니라 배열도, Pop(), Push(), sort() 등등의 속성 메소드의 여러기능들이 있다. 

4_ 객체 / 배열의 속성 메소드들: //Date객체의 get????() , set????()와 같은 것

length //얘는 속성메소드가 아닌 속성값

  • 정의 : 유효원소개수를 반환
  • 호출법 : 객체/배열이름.length() || 객체/배열이름[' length '] 

splice (삭제하고 싶은 인덱스)메소드 // 원소 삭제 메소드

  • 정의 : 배열/객체의 원하는 인덱스의 원소 삭제 메소드
  • 호출법1 : 배열이름 + .splice(원하는 인덱스 값);
  • 호출법2 : 배열이름 + .splice(원하는 인덱스 값(시작범위) , 삭제하고 싶은 원소개수)
  • 호출법3 : 배열이름 + .splice(startIndex,deletecount,추가하고싶은 배열값)

ex_ array.splice(3,5); //4번째 ~ 8번째원소들 삭제

ex_ array.splice(3,2, '하기싫어'); //4번째, 5번째원소 삭제 후, '하기싫어'값을 배열에 추

※객체의 삭제 방법 : delete 예약어 + 객체.해당삭제속성명

배열 원소 추가메소드 :  splice (추가하고 싶은 자리의 인덱스 , 0 , 추가할 원소값)

연습 :

//배열에 첫번째 원소 삭제
array.splice(0,1);

//배열에 마지막 원소 삭제
array.splice(array.length-1,1);

//배열에 첫번째 원소 추가
array.splice(0,0,firstElement);

//배열에 마지막 원소 추가
array.splice(array.length-1,0,lastElement);
  

● 배열 원소 검색 메소드 :

1_ 배열이름 + .indexOf(value) 

  • 정의 : 배열에 대하여 value원소가 있는지 검색 메소드 
  • 반환값 :

Case1_ 찾았다면, => 해당 value원소가 있는 index를 반환

Case2_ 못찾았다면, => -1를 반환

  • ★맨 처음 인덱스부터 순서로 검색

2_ 배열이름 + .lastIndexOf(value) 

  • ★마지막인덱스부터 역순서로 검색

3_ 있는지 여부만 검색하는 메소드 : 배열이름 + .includes(value)

반환값 : true / false 

● 다른 부수적인 배열 객체의 속성 메소드 :

  • 원소 삭제 관련(첫번째, 마지막)

①.배열의 첫번째 원소 삭제 메소드 :배열이름 + .shift() : 

②. 배열의 마지막 원소 삭제 메소드 : 배열이름 + pop(); // ㅎㅇ pop()

  • 원소 추가 관련 (첫번째, 마지막)

①.배열의 첫번째에 value 원소 추가  메소드 :배열이름 + .unshift(value) : 

②. 배열의 마지막에 value 원소 추가 메소드 : 배열이름 + push(value); // ㅎㅇ push()

  • 뒤집기 메소드 : 배열이름 + .reverse()

5_ 객체와 for => for ( in ) vs 배열과 for => for(변수 of 배열이름 )

 

6_2차원 배열보다 ★"객체 내부 속성명 : 배열형태값" 

이유 : 2차원배열은 인덱스 순서지만, 객체 내부 배열들의 순서도 정렬 가능하며, 그 배열들의 의미도 메모가능