TIL02 | JavaScript 배열

2021. 9. 27. 19:06언어/Javascript

반응형

Array API 정리한 포스팅 보러가기 👉️ [JS] Array api 총 정리

 

배열

대괄호 두 개로 이루어져 있으며, 특정한 요소를 담는 데이터 타입

 

배열이 필요한 이유와 선언하는 방법

  • 배열을 통해 여러 개의 데이터를 한 곳에 저장할 수 있다.

  • 배열 선언

    let array = [1, 2, 3];
    let array2 = new Array(4); // [ , , , ] 빈배열

 

배열의 값을 추가, 수정, 삭제하는 방법

  • 추가

    • push()
  • 수정

    • splice()
  • 삭제

    • splice() pop()

 

배열의 메서드 5가지와 사용 방법

slice(start, end)

  • 원본 배열 변형 X => 새로운 변수에 할당해줘야한다.
  • 배열 내의 특정한 요소의 index 범위에 따라 새로운 배열을 리턴
let nums = [1,2,3,4,5]
let nums_new = nums.slice(1,4)
let nums_new2 = nums.slice(-2) // 음수는 끝에서부터

console.log(nums) // [ 1, 2, 3, 4, 5 ]
console.log(nums_new) // [ 2, 3, 4 ]
console.log(nums_new2) // [ 4, 5 ]

splice(start, delete, item)

  • 원본 배열 변형 O
  • 배열 내의 특정한 요소를 삭제하거나, 다른 요소로 대체하거나 새로운 요소를 추가할 때 사용한다.
  • 댓글 삭제기능을 구현할 때 많이 활용
let num = [1,2,3,4,5];
num.splice(2,1,10);

console.log(num); // [ 1, 2, 10, 4, 5 ]
function extractOver175(list) {
  //괄호 안은 음수만 들어가야 합니다.
  let extractedPeople = list.splice(-3);
  return extractedPeople;
}

let lane1 = [{'철수':'150cm'}, {'영희': '153cm'}, {'바둑이': '155cm'},{'밍키': '160cm'}, {'살구' : '168cm'}, {'두팔': '175cm'}, {'여름': '180cm'}, {'소헌': '181cm'}];

extractOver175(lane1) 
// [{'두팔': '175cm'}, {'여름': '180cm'}, {'소헌': '181cm'}];

filter(callbackFunction, thisAgr)

  • 원본 배열 변형 X, 새로운 배열 반환
  • 조건에 맞는 요소들만 모아서 새로운 배열을 반환
    • 만약 리턴되는 요소가 없다면 빈 배열을 반환
let numbers = [10, 4, 32, 17, 5, 2];

// 첫번째 방법 (filter()의 인자에서 바로 함수를 써주는 방법) 
let result = numbers.filter((value)=> value > 10);

console.log(result);      // [ 32, 17 ]

concat()

  • 원본 배열 변형 X, 새로운 배열 반환
  • 주어진 배열에 기존 배열을 합쳐서 새로운 배열을 반환
let alphabet = ['a', 'b', 'c'];
let hangeul = ['ㄱ', 'ㄴ', 'ㄷ'];

alphabet.concat(hangeul);      // [ 'a', 'b', 'c', 'ㄱ', 'ㄴ', 'ㄷ' ]
  • concat() 중복 제거하기

    const concatArray = [1, 2, 3, 3, 4];
    const result = concatArray.filter((el, idx) => concatArray.indexOf(el) === idx);

push() & pop()

  • push() 배열의 마지막 요소로 추가.

  • pop() 배열의 마지막 요소를 제거하며 제거된 요소를 반환.

shift()

  • 배열의 첫번째 요소를 제거

 

TODO

  • 배열의 타입이 객체인 이유

  • 배열과 반복문을 함께 자주 사용하는 이유

반응형

'언어 > Javascript' 카테고리의 다른 글

TIL04 | JavaScript 데이터 타입과 필요성  (0) 2021.09.28
TIL03 | JavaScrpit 객체  (0) 2021.09.27
TIL01 | JavaScrpit 변수  (0) 2021.09.26
[JS] Dynamic typing (dynamic type vs static type)  (0) 2021.07.10
[JS] undefined와 null  (0) 2021.07.10