기존 메서드

  • 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]

arraycallback 적용해서 새로운 배열 생성

  • 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]

유사배열 객체나 반복가능한 객체인 arrayLikemapFn 적용해서 배열로 변환

  • Array.of(element0[, element1[, …[, elementN]]])
var a = Array.of(7); // [7]
var b = Array.of(1,2,3,4); // [1,2,3,4]

참조