/* js array 기본연산 */
let arr = [];
arr.push(a) // a를 arr에 삽입
arr.pop() // arr 맨 뒤 삭제
arr.unshift() //앞에 삽입
arr.shift() // 앞에 삭제
arr.splice(n, m)
: n번째 포함하여 시작해 m개의 특정 요소를 삭제
arr.splice(n, m, x)
: n번째 포함하여 시작해 m개의 특정 요소를 삭제 후 x 부분 요소 추가(여러개 가능), m이 0 이라면 사이 끼워넣기 가능
splice
는 원본 배열에 즉각적으로 적용되고, 해당 매서드를 변수에 넣으면 원본 배열에서 삭제된 요소를 반환한다.
arr.slice(n, m)
: n부터 m까지 반환, 반환이기 때문에 변수에 할당해서 사용, 인수를 넣지 않으면 원본 배열이 복사됨
arr0.concat(arr1,arr2)
: 여러개의 배열(arr0~arr2)을 합쳐서 새 배열을 반환함
arr.forEach((item, index, arr) => { });
: 배열 순회
item | 배열 내 요소 |
index | 배열의 인덱스 |
arr | 배열 이름 |
index
탐색arr.indexOf(n,m)
: n이라는 요소가 처음 등장했을 때 인덱스를 반환하고 없으면 -1을 반환한다. m이 존재한다면 m 이후부터 탐색을 시작한다.
arr.lastIndexOf(n)
: 맨 뒤에서부터 n을 탐색한다.
arr.includes(n)
: 배열 내에서 n이라는 요소가 존재한다면 True, 아니면 False
arr.find(fn)
: 함수를 통해서 원하는 값을 찾고, 처음 return true가 나왔을 때 찾기 종료, 찾지 못하면 undefined 반환. 배열이 객체같은걸로 이루어져있을때 쓰지 좋음
arr.filter(fn)
: 만족하는 모든 요소를 배열로 반환
arr.reverse()
: 역순으로 재정렬
arr.map()
: 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환
arr.join()
: 배열 사이에 쉼표를 넣고 문자열로 이어붙여줌 인자에 연결문자를 지정해줄 수 있음 '' 등,,
arr.split(n)
: n 기준으로 문자열을 나눠 배열로 반환해줌, "" -> 빈문자기때문에 모든 문자에 대해 잘라줌
Array.isArray(arr)
: 배열은 객체기 때문에 typeOf로 확인 불가능, 객체일 때 true
arr.sort(fn)
: 배열을 정렬, 근데 그 기준이 문자열임 -> 숫자 크기로 하고 싶다면 fn에 정렬 로직(인수:서로 붙어있는 배열 요소)을 담음
function fn(a,b){
return a-b; // 음수일 때 자리바꿈
}
이런거 안하고 lodash 등 기존 라이브러리를 통해 굳이 로직을 구현하지 않고 사용할 수 있음
arr.reduce(fn, 초기값)
: 순차척으로 배열을 돌면서 연산할 수 있는 매서드. 첫번째 인수는 함수(인수:이전누적값과 현재값) 두번째 인수는 초기값, 배열로도 가능함
arr.reduce((prev, cur)=>{ // prev:누적값, cur:현재값
return prev+cur;
}, 0); // 0: 초기값, 생략가능