2016-03-31 22 views
-2

私はそれが1つの関数でのみ動作するようにしたいが、問題はすべての関数が呼び出す異なるバリエーションである。例えば 私はループにオブジェクトのすべての機能を求めており、イベントにあなたが(のtoStringを行うことで機能を比較することができJavascript配列条件付きの配列

var array_of_functions = [ 
    function() { first_function('a string') }, 
    function() { second_function('a string') }, 
    function() { third_function('a string') }, 
    function() { fourth_function('a string') } 
] 

for (i = 0; i < array_of_functions.length; i++) { 
if(array_of_functions[i] == someRanFunc) { 
    array_of_functions[i](); 
} 
} 
+1

申し訳ありませんが、あなたは尋ねる。これは、明確な問題の声明で編集する必要があります。 –

+0

あなたの質問は本当に意味をなさない。何のためにこれをしたいですか?何がうまくいかない? 'someRanFunc'とは何ですか? – Bergi

+0

私はあなたが何を求めようとしているのか分かりません。 'someRanFunc()'はあなたが書いたものと同等のコードになります。 – Quentin

答えて

1

を動作するように、この関数のいずれかをクリックしてください)

var someRanFunc = function() { first_function('a string') } 
var array_of_functions = [ 
    function() { first_function('a string') }, 
    function() { second_function('a string') }, 
    function() { third_function('a string') }, 
    function() { fourth_function('a string') } 
] 

for (i = 0; i < array_of_functions.length; i++) { 
if(array_of_functions[i].toString() == someRanFunc.toString()) { 
    array_of_functions[i](); 
} 
} 

または関数の名前を比較することによって

var someRanFunc = function a() { first_function('a string') } 
var array_of_functions = [ 
    function a() { first_function('a string') }, 
    function b() { second_function('a string') }, 
    function c() { third_function('a string') }, 
    function d() { fourth_function('a string') } 
] 

for (i = 0; i < array_of_functions.length; i++) { 
if(array_of_functions[i].name == someRanFunc.name) { 
    array_of_functions[i](); 
} 
} 
+0

私のために働いていませんでした –

+0

@VladyslavNaidonovは、あなたが試したことを示しますか? – gurvinder372