私は可変のjsonオブジェクトを持っています(おそらく無限のサブ構造を持っています):
var myObject={
s1:{
s2:'2',
s3:'3'
},
s4:'4',
s5:{
s6:undefined
},
s7:'7'
};
最初の未定義のメンバーを見つけて、その参照を返し、いつでも変更できるようにしたい (イベントトリガー関数によって)
function findFirstUndefined(obj){
for (var key in obj){
if (typeof(obj[key]) === 'object'){
var recursion=findFirstUndefined(obj[key])
if (recursion!==false){
return recursion;
}
}
else if (obj[key]===undefined){
return obj[key];
}
}
return false;
}
ただし、メンバーの参照は返されませんが、値は次のとおりです。
var subObj=findFirstUndefined(myObject);
subObj="my updated cool var!!";
オブジェクトを変更しません。
JsonPathのようなライブラリがそのトリックを実行できることがわかりましたが、そのような単純なタスクにはちょっと重いように思えます。
そうするためのエレガントな方法が存在しませんか?ありがとう!