[객체] 1. 코어 객체 - 1) 배열

2021. 1. 18. 11:58Front-end/Javascript

728x90
반응형
  • 코어 객체의 종류 : Array, Date, String, Math
  • 코어 객체의 생성
    • ) const today = new Date();
    • ) const msg = new String("Hello");
    • today, msg 생성된 객체를 가리키는 레퍼런스 변수

 

  1. Array (배열)
  • 배열: 여러 개의 원소들을 연속적으로 저장하고 전체를 하나의 단위로 다루는 데이터 구조
var n = [4, 5, -2, 28, 33];
 var cities = ["Seoul","Tokyo","Newyork","Sapporo","Fukuoka"];

 

  • 배열의 원소에 접근하는 방법 : 배열이름[index] << index 0부터 시작한다.
 cities[0] = "Okinawa";  // "Seoul" 자리에 "Okinawa" 저장

 

  • 배열을 이용하면 반복문으로 데이터 처리를 쉽게 있음

 

  • 배열을 만드는 방법
  • 1) [ ] 배열 만들기
  • (1) 배열 만들기
 var plots =[-20, -5, 0, 15, 20];
var week = ["월","화","수","목","금","토","일"];

 

  • (2) 배열 크기와 원소 추가

  배열은 처음 만들어진 크기로 고정되지 않고 원소를 추가하면 늘어난다. 다만 배열의 마지막에 번에 하나씩 원소를 더할 있다.

plots[5] = 30 ; // plots 배열에 6번째 원소 추가, 배열의 크기는 6으로 늘어난다.

* 그러나 원소 추가는 반드시 끝에 개씩만 가능함 (현재 원소가 6 있는 상태에서 갑자기 인덱스 10 허용되지 않음) --> plots[10] = 33; // 오류

 

  • 2. Array 객체로 배열 만들기
    • 1) 초기 값을 가진 배열 생성
 var week = new Array("월","화","수","목","금","토","일");

 

  • 2) 초기화되지 않은 배열 생성
var week = new Array(7);

 

  • 3) 빈 배열 생성 : 초기에 배열의 원소 개수를 예상 없는 경우 배열을 생성할 있다
 var week = new Array();

처음엔 배열이지만 원소를 순서대로 삽입하면 배열 크기가 자동으로 늘어난다

* 때도 마찬가지로 인덱스 순서대로 하나씩 삽입하여야

 

 

 

  • 배열의 원소 개수, length 프로퍼티
    • Array 객체의 length 프로퍼티는 배열의 크기를 나타냄
    • 사용자가 임의로 값을 변경할 없는 읽기 전용임

 

  • 배열의 특징
    • 배열은 Array 객체이다.
    • 배열에는 여러 타입의 데이터가 섞여 저장될 있다

 

메소드

설명

concat(arr)

현재 배열에 배열 arr 원소들을 덧붙여 만든 배열 리턴.

기존의 배열에 영향을 주지 않는다(새로운 배열이 만들어짐)

join([separator])

배열의 모든 원소를 연결하여 하나의 문자열로 만들어 리턴.

원소 사이에 separator 지정된 문자열 삽입.

separator 생략되면 "," 사용

기존의 배열에 영향을 주지 않는다(새로운 배열이 만들어짐)

reverse()

원소를 역순으로 재배열하고, 이를 복사한 새로운 배열 리턴

원래의 배열에 변화를 준다

slice(idxA[,idxB])

splice 차이 있음, slice(추출) / splice(삭제)

* 배열에서 추출한 요소를 가지고 새로운 배열을 만들어 사용하려면 slice()

* 배열에서 일부 요소를 삭제하려면 splice()

인덱스 idxA idxB 사이의 원소들로 구성된 배열 리턴.

인덱스 idxB 원소는 포함되지 않음.

idxB 생략되면 원소까지 포함

기존의 배열에 영향을 주지 않는다

sort()

현재 배열을 증가 순으로 수정.

이를 복사한 배열 리턴

원래의 배열에 변화를 준다

toString()

원소들을 모두 연결하여 하나의 문자열 만들어 리턴. 원소와 원소 사이에 "," 삽입

push(),unshift()

push-배열의 끝에 요소를 추가/ unshift-배열의 앞에 요소를 추가

추가하는 요소는 하나일 수도 있고 이상일 수도 있다.

원래의 배열에 변화를 준다

pop() / shift()

pop: 배열의 요소를 삭제 / shift: 배열의 요소를 삭제

원래의 배열에 변화를 준다

splice()

원하는 위치의 요소를 삭제하거나 추가하는 함수

(첫번째인수: 위치/ 두번째 인수: 삭제할 개수/ 세번째 인수: 추가할 요소)

인수가 1개일 경우: arr.splice(2) // 인덱스2부터 끝까지 삭제

인수가 2개일 경우: arr.splice(2,1)//인덱스 2부터 1개의 요소만 삭제

인수가 3개일 경우: arr.splice(2,1,"js") //인덱스 2부터 1개의 요소를 삭제하고 삭제한 위치에 "js" 요소 추가

* 기존의 요소를 삭제하지 않고 위치에 새로운 요소를 추가하고 싶다면 삭제할 개수를 지정하는 번째 인수에 0 넣으면 된다.

* 여러 개의 요소를 추가하고 싶을 때는 추가하고 싶은 요소를 세번째 인수부터 차례대로 나열

arr.splice(1,0,"b","c","d");

원래의 배열에 변화를 준다

indexOf

 주어진 값과 일치하는 값이 있는 배열 요소의 인덱스를 찾는다 lastIndexOf

728x90
반응형