[JS] Array method

Maria Kim·2021년 11월 6일
0

정리하며 꼼꼼히 MDN 을 읽기 위해 쓰는 post!

pop

  • 배열의 마지막 요소 제거
  • return -> 배열에서 제거한 요소
    (빈 비열의 경우 undefined 반환)

push

  • 배열 끝에 요소(또는 요소들) 추가
  • 여러개 한번에 추가할 수 있음
  • return -> 배열에 해당 요소(들)을 추가한 후의 length

shift

  • 배열의 1 번째 요소 제거
  • return -> 제거된 요소
    (빈 비열의 경우 undefined 반환)

unshift

  • 맨 앞에 요소 추가
  • return -> 배열에 해당 요소를 추가한 후의 length

fill

arr.fill(value[, start[, end]])
  • 배열을 정적인 값 1개로 채움

  • value -> 채울 값

  • start -> 시작 인덱스 (기본 값 = 0)

  • end -> 끝 인덱스 (기본 값 = this.length)

  • return -> 변형된 배열
    (복사본이 아닌 this 배열을 반환 -> 반환된 배열 수정하면 this 배열도 수정됨)

  • 주의 !!! value 에 객체를 받을 경우 그 참조만 복사해 배열에 채우기 때문에 문제가 생길 수 있음!

flat

const newArr = arr.flat([depth])
  • 하위 배열 요소를 지정한 깊이까지 재귀적으로 이어붙인 새로운 배열을 생성
  • depth (optional) -> 기본값 1
  • return -> 새로운 배열
  • 아래처럼 사용하면 모든 하위 배열 평탄화 함
arr.flat(Infinity);
  • 배열의 구멍도 제거함

from

Array.from(arrayLike[, mapFn[, thisArg]])
  • 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운Array 객체를 만듦

  • Array.from(Set), Array.from(Map) => 배열로 만들어짐
    (하지만 es6 부터 사용가능한 Spread operator를 사용하면 더 편리하다)

  • 새로운 배열을 만들고 그 배열의 요소들 값을 함수를 사용해 만들고 싶을 때 사용가능!

Array.from({length: 5}, (v, i) => i+2)

  • 하지만 아래 처럼 사용할 생각은 하지말자 fill 은 기본형 데이터가 아닌 참조형 데이터(Object)를 value 로 넣을 경우 참조값을 복사하기 때문에 이후에 안의 내용을 수정하면 생각하지 못한 에러가 나타날 수 있다!

includes

arr.includes(valueToFind[, fromIndex])
  • 배열이 특정 요소를 포함하고 있는지 판별
  • 대소문자를 구분
  • return -> Boolean
  • fromIndex -> 검색 시작한 index , 기본값 = 0
    (fromIndex > arr.length -> false 반환)
    (fromIndex < 0 -> 배열 전체 검색)

join

arr.join([separator])
  • 배열의 모든 요소를 연결해 하나의 문자열로 만듦
  • 요소가 undefined 또는 null이면 빈 문자열로 변환

lastIndexOf

arr.lastIndexOf(searchElement[, fromIndex])
  • 배열에서 주어진 값을 발견할 수 있는 마지막 인덱스를 반환
  • 마지막 인덱스 부터 해당 값을 찾음
  • return -> 주어진 값과 일치하는 마지막 요소의 인덱스, 없으면 -1
  • fromIndex -> 주어지지 않으면 배열 전체 탐색,
    (fromInde < arr.length -> 전체 배열 탐색,
    fromInde < 0 -> 배열의 마지막부터 시작하는 인덱스로 처리)

reduceRight

  • 오른쪽 -> 왼쪽 으로 배열의 각 값을 불러와서 reduce 실행
    (reduce 는 왼쪽 -> 오른쪽 으로 각 값을 불러옴)

splice

array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
  • 인덱스를 넣어 배열의 기존요소를 삭제, 교체, 새로운 요소를 추가해 기존의 배열을 변경함
    (🤔 pop, push, shift, unshift 는 배열의 처음과 마지막을 삭제 추가할 때 사용하고 나머지 중간에 요소를 추가, 삭제, 수정 할 때 이 문법을 많이 사용함.)

profile
Frontend Developer, who has business in mind.

0개의 댓글