我正在构建一个基于图层的Photoshop插件。为此,我需要构建一个数组,每个图层在通过函数时返回true(检查匹配的名称)。
我怎么能基本上“递归地”通过对象和子对象,直到我经历过一切? (在过程中将“选定”项放入数组中)。
该对象只是一个普通的javascript对象,其中包含大量对象(还有更多的对象)。
答案 0 :(得分: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 :(得分: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;
}