9/2 TIL

최준호·2022년 9월 2일
0

<목차>

  1. 유용한 배열 메서드
  2. mutable과 immutable

1. 유용한 배열 메서드

1-1) 요소 추가/제거 메서드

  • slice(start, end) : start부터 end 바로 앞까지의 요소를 복사해 새로운 배열을 만든다.
const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let arr1 = slice=(3, 5); // [4, 5]
  • splice(start, deleteCount, item ) : start부터 deleteCount까지 요소를 지우고, items 추가하기
const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let arr1 = splice(10, 2, 'a', 'b', 'c'); // [11, 12]
  • concat(...items) : 배열의 모든 요소를 복사하고 items를 추가해 새로운 배열을 만든 후 이를 반환한다. items가 배열이면 이 배열의 인수를 기존 배열에 더해준다.

  • pop() : 마지막 요소 추출해준다.

const arr = [0, 1, 2, 3, 4, 5];
arr.pop() = [5];
  • shift() : 첫 요소 추출하기
const arr = [0, 1, 2, 3, 4, 5];
arr.shift(); // [0];
  • unshift(...items) : 맨 앞에 요소 추가하기
const arr = [0, 1, 2, 3, 4, 5];
arr1.unshift("wow"); // 6
console.log(arr); //  ["wow", 0, 1, 2, 3, 4, 5]

1-2) 배열 탐색하기

  • indexOf/lastIndexOf(item, pos) : pos부터 원하는 item을 찾음. 찾게 되면 해당 요소의 인덱스를, 아니면 -1을 반환해준다.
const str = 'abcd';
let str11 = str.indexof('b') // 1
  • includes(value) : 배열에 value가 있으면 true를, 그렇지 않으면 false를 반환한다.
var a = [1, 2, 3, 4, 5]

a.includes(3)//true
a.includes(7)//false
  • filter(func) : func의 반환 값을 true로 만드는 첫 번째/전체 요소를 반환한다.
const numbers = [1];

numbers.filter((number, index, source) => {
  //number: 요소값
  //index: source에서 요소의 index
  //source: 순회하는 대상
  
  console.log(number);
  //1
  
  console.log(index);
  //0
  
  console.log(source);
  //[1]
  
});

2. mutable과 immutable

2-1) mutable

  • 변할 수 있다
  • 참조타입이다
  • 해당 데이터 주소를 찾아서 값을 변경해준다

2-2) immutable

  • 불변 타입 (변할 수 없다)
  • 원시타입이다
  • 해당 주소와 별개의 새로운 주소에 값이 할당된다

*자바스크립트 문자열은 변경 불가능한 값이다.(immuable value) 이런 값을 'primitive values'이라 한다. (변경이 불가능하다는건 메모리 영역에서의 변경이 불가능하다는 것이다. 다만 재할당은 가능하다)

<예시>

mutable

  • Array.splice()
  • Array.unshift()
  • Array.shift()
  • Array.push()
  • Array.pop()

immutable

  • Array.concat()
profile
LV2 프론트엔드 엔지니어

0개의 댓글