무우너대갈 2022. 1. 21. 14:52
반응형

자바스크립트 === dynamically typed language

  -> 런타임에서 타입을 동적으로 정함

    -> 배열에 다양한 종류의 데이터 담기 가능(좋은 구조는 아님)

 

Declaration

  ex. const 변수명 = new Array();

       const 변수명 = [값1, 값2];

 

Index position

  - 인덱스에 해당하는 값을 [] 안에 넣어 CRUD* 가능

     * CRUD : create(생성), read(읽기), update(수정), delete(삭제)

  - 배열의 크기보다 큰 값 즉 값이 설정되지 않은 값에 접근할 경우 -> undefined

 

Looping over an array

  - for(초기값, i 조건값, 단계별 수행)

  - for of(지역변수 of 배열변수명)

  - forEach

    ex. 배열명.forEach(function (fruit, index, array) {

         배열명.forEach((fruit, index, array) => {

            console.log(fruit, index, array);

                => 각 인덱스별 값, 인데스 숫자, 배열 전체 출력

         });

 

Addition, deletion, copy

  1) add 

    - push : 배열의 맨 뒤에 값 추가

    - unshift : 배열의 맨 앞에 값 추가

 

  2) deletion

    - pop : 배열의 맨 마지막 값을 삭제(값이 return 됨)

    - shift : 배열의 맨 처음 값 삭제

    - slice(start 인덱스값, (삭제할 갯수), (추가할 값))

       + 원하는 인덱스만 설정한 후 삭제할 갯수를 작성하지 않을 시 start 인덱스부터 이후의 값을 모두 삭제함

       ++ 지워진 자리에 추가할 값이 추가됨

 

          + unshift와 shift는 매우 느림

             배열값들의 인덱스를 이동시켜서 하기 때문에 배열의 크기가 커질수록 느림

             맨 마지막에 넣는 건 빠름

 

반응형

Combine

  - concat : 기존 배열.concat(추가할 배열)

 

Searching

  - 배열명.indexOf(값) : 해당 값이 몇번째 인덱스에 있는지 확인 가능

    + 중복된 값이 있는 경우 가장 앞에 있는 값의 인덱스를 반환

  - 배열명.includes(값) : 값이 있는지 아닌지 true, false로 나타냄

  - 배열명.lastIndexOf(값) : 해당 값이 몇번째 인덱스에 있는지 확인 가능

    + 중복된 값이 있는 경우 가장 마지막에 있는 값의 인덱스를 반환


 + concat, push, pop 등 자료구조나 파이썬에서 많이 사용해본 익숙한 친구들이 많아서 언어 하나를 숙달하면 다른 언어를 공부하는 것이 어렵지 않다고 한 점이 매우 이해가 되는 것 같다.

++ 속도가 좀 붙는 것 같아서 다행이다,, 근데 너무 강의가 많아서 걱정,, 언제 다 끝내고 리액트랑 정처기하지,,

반응형