2012-02-17 10 views
0

レイヤーに基づいたPhotoshopのプラグインをビルドしています。これを実行するには、オブジェクトを終了するまでの再帰ループ[JS]

私はすべてが終わるまで、基本的に "再帰的に"オブジェクトと子オブジェクトを調べることができますか?(「選択された」アイテムをプロセスの配列に置くことはできますか? 。。)

オブジェクトは、その中のオブジェクトのトンと単なるJavaScriptのオブジェクト、(その内部に、さらにそれ以上)である

+0

あなたは再帰と、一般的に慣れていないと、それを行う方法を知りたい問題ですか? – ori

+0

私ははいと言わなければならない - 私は本当にこれをやる方法を知らない。 –

+0

StackOverflowで答えを探してみましたか?私はすばやい検索を行い、同様の質問がたくさんありました。 –

答えて

1

これを試してみてください:

var isASelectedLayer = function(element) { 
    ... 
} 
var objectWithLayers = {...} 

var selected = []; 
var lookForSelectedLayers = function(o) { 
    for(element in o) { 
     if(isASelectedLayer(o[element])) 
      selected.push(o[element]); 
     else 
      lookForSelectedLayers(o[element]); 
    } 
}; 
lookForSelectedLayers(objectWithLayers); 
1

このような何かが、今の小切手をたくさん欠けている:

function showProperties(object, prefix) { 
    if (typeof prefix == "undefined") prefix = ""; 
    var result = "" 
    for (property in object) { 
     result += prefix + property+"="+object[property]+" "+typeof object[property]+"\n"; 
     if (typeof object[property] == "object") { 
      result += showProperties(object[property], prefix+" "); 
     } 
    } 
    return result; 
} 
関連する問題