ネストされた JSON オブジェクト内の文字列を検索したい。文字列がオブジェクトで見つかった場合は、そのオブジェクトを返す必要があります。
これを実現するために再帰関数を使用しています。問題は、関数が最後まで再帰的であり、見つかったオブジェクトを返さないことです。
function search(obj, name) {
console.log(obj["name"], ",", name, obj["name"] == name);
if (obj["name"] == name) {
return obj; //NOT RETURNING HERE
}
if (obj.children || obj._children) {
var ch = obj.children || obj._children;
//console.log(ch);
ch.forEach(function(val) {
search(val, name)
});
}
return -1;
}
search(myJson, "VM10-Proc4")
何が問題なのかわかりません。