유사 배열 객체(length
속성과 인덱싱 요소를 가진 객체)나 반복 가능한 객체를 얕게 복사해 새로운 Array 객체를 만든다.
Array.from(arrayLike, mapFn, thisArg)
Array.from(arrayLike).map(mapFn)
과 같다.Array.from('foo');
// ['f', 'o', 'o']
// 참고) [...'foo']의 결과와 같음
const mapper = new Map([['U', 1], ['D', 2]]);
Array.from(mapper.keys());
// ['U', 'D']
Array.from({length: 5})만 실행 시 값이 모두 undefined인 길이가 5인 배열이 만들어짐.
Array.from({ length: 5 }, (v, i) => i);
// [0, 1, 2, 3, 4]
break
문을 만나면 반복문 중단 가능break
문 사용 불가배열의 각 요소를 처음부터 끝까지 순회할 때 사용.
map()
과 reduce()
와는 달리 undefined를 반환하기 때문에 메서드 체인의 중간에 사용할 수 없다.
arr.forEach(callback(currentvalue[, index[, array]])[, thisArg])
callback
각 요소에 대해 실행할 함수. 다음 세 가지 매개변수를 가진다.
currentValue
처리할 현재 요소.
index
처리할 현재 요소의 인덱스.
array
forEach()를 호출한 배열.
thisArg
callback을 실행할 때 this로 사용할 값.
반환 값 undefined
배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환한다.
arr.map(callback(currentValue[, index[, array]])[, thisArg])
callback
새로운 배열 요소를 생성하는 함수. 다음 세 가지 인수를 가진다.
currentValue
처리할 현재 요소.
index
처리할 현재 요소의 인덱스.
array
map()을 호출한 배열.
thisArg
callback을 실행할 때 this로 사용되는 값.
주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환한다.
arr.filter(callback(currentValue[, index[, array]])[, thisArg])
callback
각 요소를 시험할 함수. true를 반환하면 요소를 유지하고, false를 반환하면 버린다
다음 세 가지 매개변수를 가진다.
currentValue
처리할 현재 요소.
index
처리할 현재 요소의 인덱스.
array
filter를 호출한 배열.
thisArg
callback을 실행할 때 this로 사용하는 값.
arr.reduce(callback([acc, currentValue[, index, array]])[, initialValue])
배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환한다.
callback
배열의 각 요소에 대해 실행할 함수. 다음 네 가지 인수를 가진다.
acc
누산기는 콜백의 반환값을 누적. 콜백의 이전 반환값 또는, 콜백의 첫 번째 호출이면서 initialValue를 제공한 경우에는 initialValue의 값.
currentValue
처리할 현재 요소.
index
처리할 현재 요소의 인덱스. initialValue를 제공한 경우 0, 아니면 1부터 시작.
array
reduce()을 호출한 배열.
thisArg
callback의 최초 호출에서 첫 번째 인수에 제공하는 값. 초기값을 제공하지 않으면 배열의 첫 번째 요소를 사용. 빈 배열에서 초기값 없이 reduce()를 호출하면 오류가 발생.