salmane
salmane

Reputation: 4849

Javascript How do i call functions from an array of function names

var action = ['function1','function2' etc ]
var obj = new objectcreate ();

for (functionname in action){
    obj+'.'+action[variablename]+'()';      
}

the functions are already generated I just wanna go through an array and execute all the functions it on the object i created thanks for your help

Upvotes: 2

Views: 4498

Answers (3)

Patrick Lafferty
Patrick Lafferty

Reputation: 547

None of the answers above worked for me.

Noting that we are 10.5 years on from the original post the chances are JS have evolved.

My solution is:

window[action[functionName]]();

A solution tailored to the original question is as follows:

var action = ['test1','test2'];


function test1(){
   alert("test 1 running");
}

function test2(){
    alert("test 2 running");
}

for (var i=0; i<action.length; i++){
    window[action[i]]();
}

Expected output is an alert box saying "test 1 running" followed by another alert box saying "test 2 running".

Upvotes: 1

Li0liQ
Li0liQ

Reputation: 11264

obj[action[functionname]](); will do the trick.

Upvotes: 3

Daniel A. White
Daniel A. White

Reputation: 190943

You should be able to do this.

obj[action[functionName]]();

Upvotes: 3

Related Questions