別のオブジェクトの内部にある各オブジェクトの名前を取得する必要があります。これはfor次のようなループで行う必要があります。
for (var obj1 in obj2){
// use obj1.getName
}
これが不可能な場合 (ただし、可能であればより良いでしょう)、nameの各オブジェクトにプロパティのようなものを使用できますobj2。このプロパティはオブジェクト名を格納します。
基本的に、プログラムがループを通過するときに未定義obj1の理由がわかりません。for
編集: undefinedの問題は、forヘッダー行の firebug ブレークポイントにありました。一部のコードが欠落しており、未定義と表示されます