2011-08-11 23 views
1

私は、関数removeMarkerを持つPrototypeクラスを持っています。プロトタイプで配列内の関数オブジェクトを実行する方法

var Location = Class.create({ 
    removeMarker: function(){ 
     // Some code here to remove a marker from a map 
    } 
}); 

私は、これらの配列を持っている:

var locations = []; 

は、アレイ内のすべての場所のオブジェクトにremoveMarker()を呼び出すための簡単な方法はありますか?現時点で

私が使用しています:

locations.each(function(l,i) { 
    l.removeMarker(); 
}); 

は私が動作していないよう.map().invoke()を使用しますが

locations.invoke(removeMarker); 

を実行している何かを見ていると確信しています。私はちょうど何か愚かなことをしていることを知っている、ちょうどそれを指摘する必要があります...

+1

'each'と' invoke'は、ネイティブJavaScriptメソッドではありません。私はあなたの質問がプロトタイプと列挙可能なプロパティと関係していることを理解していません。 –

+0

@FelixKling:質問タイトル。 "Prototype"は両方のメソッドを提供/拡張します。 – jAndy

+0

@jAndy:ああ...私はあまりにも多くのことを考えていました。ありがとう! –

答えて

2

アポストロフィの間にremoveMarkerを追加してみてください。

So: locations.invoke( 'removeMarker');

+0

それは何かばかげて単純なものでなければならないことが分かっていました。 Facepalm。 –

関連する問題