Array Basic
- const로 선언된 배열의 경우 새로운 요소를 추가, 삭제할 수 있음.
- index는 0부터 시작한다. - element 는 해당 index의 요소
- push() -> 배열끝에 새로운 요소를 추가, return 값은 추가한 후 배열의 length
- pop() -> 배열 마지막 요소를 제거, return 값은 제거된 요소
- push(),pop() -> mutable 성질, 추가 삭제 시 배열이 변함.
- 배열 요소에 접근 -> arr[index]로 해당 요소 접근
- 이중 배열 ->let arr = [['a','b'],['c','d']] -> 접근 시 -> arr[index][index] 로 접근
- 이중 배열에서 할당 시 -> arr[index][index] = x 로 할당
- 배열 선언은 const 로 선언 -> const arr = [];
- 배열을 typeof로 검사했을경우 "object" 가 나옴. 배열을 구분하려면 Array.isArray로 구분해줘야함.
- '...args' 는 rest parameter , rest syntax 라고 부름 -> 남아있는 모든 인자를 하나의 배열에 담음.
Spread Syntax(전개구문), Rest Parameter
- Spread syntax
- 전개 구문은 함수 호출할 때 배열 요소 각각이 적용되게 하는 것.
- 함수 호출 시 인자로 (...args) 가 들어가면 펼쳐줘서 들어감.
- 빈 배열에 전개 문법을 사용할 경우, 아무것도 전달되지 않음. 여러 개의 배열 을 이어붙일 수 있음. 여러 개의 객체를 병합할 수 있음.
const spread = [1, 2, 3];
const arr = [0, ...spread, 4];
arr === [0,1,2,3,4];([]가 벗겨짐.)
- Rest 파라미터
- 매개변수에서 쓰임.
- 함수의 마지막 파라미터 앞에 ...을 붙여 모든 나머지 인수를 JS 배열로 대체.
- 마지막 파라미터만 "Rest 파라미터" 가 될 수 있음.
- Rest 파라미터로 전달된 인자는 배열임. .
- Array.isArray 에서도 true 를 얻음.
array.join() method
- ()안에 구분자를 이용해 array안에 있는 배열 요소를 연결해 문자열로 반환
- join() -> 배열 요소를 "a,b,c" 와 같이 쉼표로 구분하여 반환
- join('') -> 배열 요소를 "abc" 와 같이 이어붙임.
- join('-') -> 배열 요소를 "a-b-c" 와 같이 구분자를 이용해 연결 후 반환
배열의 변경,추가,삭제
- splice()
- push() -> mutable 속성
- pop() -> mutable 속성
- shift() -> mutable 속성 , 첫 번째 요소 제거
- unshift() -> mutable 속성
- slice() -> 배열 복사 시 사용, 새로운 변수 할당, immutable 속성 , slice의 인자가 배열의 범위를 벗어나는 경우 []을 리턴함.
- join()
- concat() -> arr1.concat(arr2) -> 1,2 배열을 합쳐서 새 배열 반환
- for..of 를 이용해 배열의 element에 접근할 수 있음. + String에서도 사용 가능