Open In App

How to get all the methods of an object using JavaScript ?

In this article, we will learn how to get all the methods of an object using JavaScript. In JavaScript, we can get all the methods of an object by iterating over each object and checking if its property value is a function. An HTML document contains some methods and the task is to get all methods of the object.

There are two methods to solve this problem which are discussed below:



Approach 1: Use typeof operator and filter() Methods

Example: This example implements the above approach. 




function Obj() {
    this.m1 = function M1() {
        return "From M1";
    }
    this.m2 = function M2() {
        return "From M2";
    }
}
 
function getAllMethods(obj = this) {
    return Object.keys(obj)
        .filter((key) => typeof obj[key] === 'function')
        .map((key) => obj[key]);
}
 
function gfg_Run() {
   console.log(getAllMethods(new Obj()));
}
gfg_Run();

Output

[ [Function: M1], [Function: M2] ]

Approach 2: Use typeof operator and for-in loop

Example 2: This example implements the above approach. 




function Obj() {
    this.m1 = function M1() {
        return "From M1";
    }
    this.m2 = function M2() {
        return "From M2";
    }
}
 
function getAllMethods(obj) {
    let result = [];
    for (let id in obj) {
        try {
            if (typeof (obj[id]) == "function") {
                result.push(id + ": " + obj[id].toString());
            }
        } catch (err) {
            result.push(id + ": Not accessible");
        }
    }
    return result;
}
 
function gfg_Run() {
   console.log(getAllMethods(new Obj()).join("\n"));
}
gfg_Run();

Output
m1: function M1() {
        return "From M1";
    }
m2: function M2() {
        return "From M2";
    }

Article Tags :