배열
배열(Array)이란 여러 개의 값을 순차적으로 나열한 자료구조로, 배열이 가지고 있는 값을 요소(Element)라고 부른다. 각 요소는 자신의 위치를 나타내는 0 이상의 정수인 인덱스(index)를 가지며 같은 타입의 요소가 연속적으로 위치하는 것이 일반적이다
const arr = [1, 2, 3, 4, 5];
const arr2 = new Array(3).fill(1); // -> [1, 1, 1]
const arr3 Array.of(1, 2, 3); // -> [1, 2, 3]
const arr4 = Array.from({ length: 3 }, (_, i) => i); // -> [0, 1, 2]
typeof arr // -> object
배열은 객체 타입이며 리터럴, Array 생성자 함수, Array.of, Array.from 메서드로 생성할 수 있다
const arr = [1];
// push 메서드는 원본 배열(arr)을 직접 변경한다.
arr.push(2);
console.log(arr); // [1, 2]
// concat 메서드는 원본 배열(arr)을 직접 변경하지 않고 새로운 배열을 생성하여 반환한다.
const result = arr.concat(3);
console.log(arr); // [1, 2]
console.log(result); // [1, 2, 3]
// bad
const menus = ['에스프레소', '카페라떼', '프라푸치노', '블랙티'];
menus.forEach((value, index) => {
menus[index] += '디카페인';
});
console.log(menus);
// good
const menus = ['에스프레소', '카페라떼', '프라푸치노', '블랙티'];
const decMenus = menus.map((value, index) => menus[index] += '디카페인');
console.log(decMenus);
배열이나 객체는 예상치 못한 데이터 변경을 예방하기 위해 불변 객체처럼 다루는 것이 좋다
- 배열 메서드: isArray / indexOf / push / pop / unshift / shift / concat / splice / slice / join / reverse / fill / includes / flat
- 배열 고차 함수: sort / forEach / map / filter / reduce / some / every / find / findIndex / flatMap
배열 메서드와 배열 고차 함수들을 모두 기억하고 상황에 맞게 사용할 수 있어야 한다!
본 내용은 위키북스의 '모던 자바스크립트 Deep Dive'를 바탕으로 작성되었습니다.
'Languages > JavaScript' 카테고리의 다른 글
[HUFS/GnuVil] #17 String, Symbol (0) | 2022.11.04 |
---|---|
[HUFS/GnuVil] #16 Number, Math, Date, RegExp (0) | 2022.11.04 |
[우아한테크코스/프리코스] #1 온보딩 (0) | 2022.11.02 |
[HUFS/GnuVil] #14 ES6 함수의 추가 기능 (0) | 2022.10.18 |
[HUFS/GnuVil] #13 클래스 (0) | 2022.10.18 |