Array
- built-in objects > indexed collections > Array
properties
static methods
Array.from() => array
:
Array.isArray(obj) => boolean
Array 생성하기
Array.from('Apple')
Array.from([1,2,3],(el)=>el*el)
Array.isArray({})
Array.of(1,2,3,'hello')
let array = [0,10,20,30,40]
const arr = new Array()
Array 요소에 접근하기
arr[i]
- 범위에 없는 요소에 접근하면
undefined
리턴
Array methods
- mutable : 원본 배열을 그대로
- immutable : 원본 배열 자체를 변화
Array Index를 리턴하는 methods
indexOf(val) -> number
findIndex(pred) -> number
- 없는 경우 -1 리턴
array[2]
let idx = array.indexOf(20)
array = [0,10,20,30,40]
let bt3 = array.find(el=> el>30)
let bt3Idx = array.findIndex(el=>el>3)
Array에 값 추가, 삭제하기
let cnt = array.push(50,60)
cnt = array.unshift(-10)
let lastEl = array.pop()
let firstEl = array.shift()
Array 삭제시 원본배열 변화
- filter : true인 요소만 담은 새배열, 원본배열 그대로
- splice : 특정 인덱스 요소 직접 제거가능
- findIndex 로 인덱스 찾기
- splice(index,1) : index 부터 1개 제거
Array 반복문
array.forEach((el,idx,array)=>console.log(el))
Array 슬라이싱
- splice : 원본 배열에 영향, 원소 삭제에도 사용가능
splice(i,n) -> array
: i번째 부터 n개 삭제하고 삭제한 원소 배열에 담아 리턴
splice(i,n,el) -> array
: 삭제한 위치에 el 추가
- slice : 원본 배열에 영향 없이, 새로운 배열 리턴
let cp = array.slice()
let sub = array.slice(1,3)
let erased = array.splice(1,2)
erased = array.splice(1,0,20)
Array 요소 찾기
find((x)=> x === wanted)
: 주어진 조건을 만족하는 가장 첫번째 요소 반환, 없으면 undefined
includes(x) -> boolean
: 특정 요소 포함여부 검사
let check = arr.includes(60)
Array 정렬 메서드
reverse() -> array
: 원본 배열 역순 + 원본 배열 리턴
array = [3,5,1,2,4]
array.sort()
array.reverse()
Array 기타 메서드
array=[0,1,2,3,4,5]
let newArr = array.concat([6,7])
array=['Hello','World']
let str = array.join(' ')
const people = ['James','Jamie','Jason','John'];
const [p1,p2, ...rest] = people;
Array 복사하기
shallowCopy
let shallowCopy = original.slice()