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

모든 객체 JavaScript의 모든 메소드 가져오기

<시간/>

객체 참조를 받아 해당 객체에 있는 모든 메서드(멤버 함수)의 배열을 반환하는 프로그램(함수)을 작성해야 합니다. 배열의 메서드만 반환하면 되고 다른 속성은 반환하지 않습니다. 함수가 아닌 다른 유형의 값을 가질 수 있습니다.

Object.getOwnPropertyNames 함수를 사용하겠습니다.

Object.getOwnPropertyNames() 메서드는 주어진 객체에서 직접 찾은 모든 속성(열거 가능 여부)의 배열을 반환합니다. 그런 다음 'function' 데이터 유형의 속성만 포함하도록 배열을 필터링합니다.

예시

const returnMethods = (obj = {}) => {
   const members = Object.getOwnPropertyNames(obj);
   const methods = members.filter(el => {
      return typeof obj[el] === 'function';
   })
   return methods;
};
console.log(returnMethods(Array.prototype));

출력

콘솔의 출력은 -

[
   'constructor', 'concat', 'copyWithin',
'fill', 'find', 'findIndex', 'lastIndexOf', 'pop', 'push',
   'reverse', 'shift', 'unshift', 'slice', 'sort', 'splice',
   'includes', 'indexOf', 'join',
   'keys', 'entries', 'values',
   'forEach', 'filter', 'flat',
   'flatMap', 'map', 'every',
   'some', 'reduce', 'reduceRight',
   'toLocaleString', 'toString'
]