기존 메서드
- Array.prototype.slice([begin[, end]])
var a = [1,2,3,4];
var b = a.slice(0,3); // [1,2,3]
begin
이상 end
미만의 부분 배열 리턴
- Array.prototype.splice(start[, deleteCount[, item1[, item2[, …]]]])
var a = [1,2,3,4];
a.slice(2,1,5); // [1,2,5,4]
start
에서 시작해서 deleteCount
만큼 제거하고 item1
삽입
ES6의 새로운 메서드
- Array.prototype.find(callback[, thisArg])
var a = [1,2,3,4];
var b = a.find((num) => num%2 === 0); // 2
주어진 조건을 만족하는 첫번째 요소를 반환
- Array.prototype.findIndex(callback[, thisArg])
var a = [1,2,3,4];
var b = a.findIndex((num) => num%2 === 0); // 1
주어진 조건을 만족하는 첫번째 요소의 인덱스를 반환
- Array.prototype.some(callback[, thisArg])
var a = [1,2,3,4];
var b = a.some((num) => num%2 === 0); // b = true
인자로 전달한 함수에 맞는 요소가 있을시 true
아니면 false
- Array.prototype.every(callback[, thisArg])
var a = [1,2,3,4];
var b = a.every((num) => num%2 === 0); // b = false
이번엔 모든 요소가 함수 조건 만족할시 true
아니면 false
- Array.prototype.reduce(callback[, initialValue])
var a = [1,2,3,4];
var b = a.reduce((accumulator,current) => accumulator+current); // 10
callback
의 첫번째,두번째 요소는 각각 누산기(accumulator)와 현재 처리할 값을 의미하는데 누산기에 계속해서 함수의 작업이 누적되는 것을 말한다.
- Array.prototype.map(callback(currentValue[, index[, array]])[, thisArg])
var a = [1,2,3,4];
var b = a.map((num) => num*2); // [2,4,6,8]
array
에 callback
적용해서 새로운 배열 생성
- Array.prototype.fill(value[, start[, end]])
var a = [1,2,3,4];
var b = a.fill(0,2,4); // [1,2,0,0]
start
이상 end
미만까지 value
로 채움
- Array.prototype.copyWithin(target[, start[, end]])
var a = [1,2,3,4];
var b = a.copyWithin(1,2,4); // [1,3,4,4]
target
인덱스에 start
이상 end
미만의 부분배열 요소들을 복사
- Array.prototype.forEach(callback[, thisArg])
var a = [1,2,3,4];
a.forEach((num) => console.log(num*2)); // 2,4,6,8
반복해서 주어진 함수 실행
- Array.from(arrayLike[, mapFn[, thisArg]])
var a = "1234";
var b = Array.from(a,(num) => num*num); // [1,4,9,16]
유사배열 객체나 반복가능한 객체인 arrayLike
을 mapFn
적용해서 배열로 변환
- Array.of(element0[, element1[, …[, elementN]]])
var a = Array.of(7); // [7]
var b = Array.of(1,2,3,4); // [1,2,3,4]
참조
다음으로 읽을만한 글입니다.