获取 JavaScript 中任何对象的全部方法
我们需要编写一个程序(函数)接收一个对象引用并返回驻留在该对象上的所有方法(成员函数)的数组。我们只需要在数组中返回方法,而不返回可能具有除函数类型外的其他类型值的任何其他属性。
我们将使用 Object.getOwnPropertyNames 函数
Object.getOwnPropertyNames() 方法返回在给定对象上直接找到的所有属性(可枚举或不可枚举)的数组。然后我们将过滤该数组以仅包含数据类型为“函数”的属性。
示例
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' ]
广告