Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 Array.prototype.filter() 함수와 같은 사용자 정의 함수 구현

<시간/>

문제

Array 클래스의 프로토타입 Object에 있는 JavaScript 함수를 작성해야 합니다.

우리 함수는 유일한 인수로 콜백 함수를 취해야 합니다. 이 콜백 함수는 배열의 각 요소에 대해 호출되어야 합니다.

그리고 해당 콜백 함수는 해당 요소와 해당 인덱스의 두 인수를 취해야 합니다. 콜백 함수가 true를 반환하면 출력 배열에 해당 요소를 포함해야 하며 그렇지 않으면 제외해야 합니다.

예시

다음은 코드입니다 -

const arr = [5, 3, 6, 2, 7, -4, 8, 10];
const isEven = num => num % 2 === 0;
Array.prototype.customFilter = function(callback){
   const res = [];
   for(let i = 0; i < this.length; i++){
      const el = this[i];
      if(callback(el, i)){
         res.push(el);
      };
   };
   return res;
};
console.log(arr.customFilter(isEven));

출력

[ 6, 2, -4, 8, 10 ]