스크린샷 2019-09-16 오전 2.56.49.png

[javascript] : Array (배열)

  • 배열은 수많은 데이터의 집합을 저장하기 위한 용도로 사용되면서 중복된 변수를 줄이기 위해서도 사용된다
    어떤 타입이던지간에 그 타입의 데이터를 연속된 공간에 저장하는 자료구조이며
    각 데이터 저장 위치는 인덱스를 부여해서 접근 가능함.
<배열의 모양>
let a = ["배열", "배열임"]
//배열은 대괄호([])로 감싸져 있음
//대괄호안의 값들 하나하나를 element(요소)라고 부름
//요소의 사이에는 쉼표로 구분되고 어떤 type도 들어올 수 있다.
tring, Number, Array etc..
  • 배열의 요소는 순서(index)를 갖고 있는 데 순서는 0부터 시작됨
    <example>
    var anything = ["대전", 1987, ["하나", "둘", 3]];
    //String형인 "대전"은 index가 0
    //Number형인 1987은 index가 1
    //Array형인 ["하나", "둘", 3]은 index가 2.
  • 요소추가
    //빈배열
    let alpha = [];
    //빈배열에 아래 요소 추가
    alpha[0] = "a";
    alpha[1] = "b";
    alpha[2] = "c";
    alpha[6] = "j";
    //굳이 차례대로 추가 안해주고 원하는 위치에 넣어주어도 되지만 그대신 4,5번째 요소를
    console.log찍게되면 undefined라고 나옴 => 할당된 값이 없기 때문
    let alpha=["a","b","c",undefined, undefined, "j"] 
    //이렇게 6개의 요소가 있는 배열이 됨
  • 요소를 수정할 땐..?
    alpha[5] = "w";
    console.log(cities[5]);

배열의 method

  • pop
    배열 뒷부분의 값을 삭제

    var arr = [ 1, 2, 3, 4 ];
    arr.pop();
    console.log( arr ); // [ 1, 2, 3 ]
    `
  • push
    배열 뒷부분에 값을 삽입

    var arr = [ 1, 2, 3, 4 ];
    arr.push( 5 );
    console.log( arr ); // [ 1, 2, 3, 4, 5 ]
  • unshift
    배열 앞부분에 값을 삽입

    var arr = [ 1, 2, 3, 4 ];
    arr.unshift( 0 );
    console.log( arr ); // [ 0, 1, 2, 3, 4 ]
  • shift
    배열 앞부분의 값을 삭제

    var arr = [ 1, 2, 3, 4 ];
    arr.shift();
    console.log( arr ); // [ 2, 3, 4 ]
  • splice
    배열의 특정위치에 요소를 추가하거나 삭제

    splice( index, 제거할 요소 개수, 배열에 추가될 요소 )

    <ex 1>
    var arr = [ 1, 2, 3, 4, 5, 6, 7 ];
    arr.splice( 3, 2 );
    console.log( arr ); // [ 1, 2, 3, 6, 7 ]   3번째 인덱스에서부터 2개 제거
    <ex 2>
    var arr = [ 1, 2, 3, 4, 5, 6, 7 ];
    arr.splice( 2, 1, "a", "b");
    console.log( arr ); // [ 1, 2, "a", "b", 4, 5, 6, 7 ] 
    2번째 인덱스에서 1개 제거 후 "a"와 "b"를 추가
  • slice( startIndex, endIndex)
    배열의 startIndex부터 endIndex까지(endIndex는 포함되지 않음) shallow copy로
    새로운 배열 객체로 반환

    var arr = [ 1, 2, 3, 4, 5, 6, 7 ];
    var newArr = arr.slice( 3, 6 );
    console.log( 'slice',  newArr ); // [ 4, 5, 6 ]
  • concat
    다수의 배열을 합치고 병합된 배열을 반환

    var arr1 = [ 1, 2, 3 ];
    var arr2 = [ 4, 5, 6 ];
    var arr3 = arr2.concat( arr1 );
    console.log( arr3 ); // [ 4, 5, 6, 1, 2, 3 ]


::melt down...OTL.
사실 내 짝궁의 탓은 사실 전혀 아니었고 그저 그 간에 쌓인 게 갑자기 터졌을 뿐.
그것도 그거지만 스스로에게 갖는 자괴감이 너무 끊이지 않아서..
위코드에 발을 들이기까지도 참 쉽지 않았는 데 과정 중에 있는데도 너무 어려워요.
그래도 열심히 배워야죠, 언젠간.. 막 잘하게 될 날이 오겠죠..?