연구노트/자바스크립트

자바스크립트 Array.prototype 표준 내장 객체3(every, fill)

생존형수동개발자 2023. 7. 2. 16:24

every()

every() 메서드는 배열 안의 모든 요소가 주어진 판별 함수를 통과하는지 테스트합니다. Boolean 값을 반환합니다.

// 화살표 함수
every((element) => { ... } )
every((element, index) => { ... } )
every((element, index, array) => { ... } )

// 콜백 함수
every(callbackFn)
every(callbackFn, thisArg)

// 인라인 콜백 함수
every(function callbackFn(element) { ... })
every(function callbackFn(element, index) { ... })
every(function callbackFn(element, index, array){ ... })
every(function callbackFn(element, index, array) { ... }, thisArg)

매개변수

callbackFn

각 요소를 시험할 함수. 다음 세 가지 인수를 받습니다.

  • element : 배열에서 처리되는 현재 요소
  • index : 처리할 현재 요소의 인덱스
  • array : every를 호출한 배열
thisArg (Optional)

callbackFn을 실행할 때 this로 사용하는 값.

반환 값

callbackFn이 모든 배열 요소에 대해 참(truthy)인 값을 반환하는 경우 true, 그 외엔 false 를 반환합니다.

예제

console.log("test start");
const isBelowThreshold = (currentValue) => currentValue < 40;
const arr1 = [1, 30, 39, 29, 10, 13];
const arr2 = [1, 30, 40, 29, 10, 13];
console.log(JSON.parse(JSON.stringify(arr1)));
console.log("processing...");
console.log(arr1.every(isBelowThreshold));
console.log(arr2.every(isBelowThreshold));
console.log(arr1.every((e) => {return e > 0}));
test start 
(6) [1, 30, 39, 29, 10, 13]
processing... 
true
false
true

fill()

fill() 메서드는 배열의 시작 인덱스부터 끝 인덱스의 이전까지 정적인 값 하나로 채웁니다.

arr.fill(value[, start[, end]])

매개변수

value

배열을 채울 값.

start (Optional)

시작 인덱스, 기본 값은 0.

end (Optional)

끝 인덱스, 기본 값은 this.length.

반환 값

변형한 배열.

예제

console.log([1, 30, 39, 29, 10, 13].fill("aa"));
console.log([1, 30, 39, 29, 10, 13].fill("aa", 3));
console.log([1, 30, 39, 29, 10, 13].fill("aa", 0, 1));
console.log([1, 30, 39, 29, 10, 13].fill("aa", 2, 5));
(6) ["aa", "aa", "aa", "aa", "aa", "aa"]
(6) [1, 30, 39, "aa", "aa", "aa"]
(6) ["aa", 30, 39, 29, 10, 13]
(6) [1, 30, "aa", "aa", "aa", 13]