属性(または入れ子オブジェクト)は、条件に基づいて動的に選択されます。JSオブジェクト内の動的に指定された属性を置き換える方法
次に、私はこの新しいデータを取得し、上記で選択したものを置き換えたいと考えています。
var newData = //some new Object
私は上記のものをすべて新しいデータで置き換えたいと考えています。私は次のことを行うことができます(条件を再確認して新しいデータを設定してください):
if(o.title){
if (o["properties"]) {
o["properties"] = newData;
} else if (o["items"]["properties"]) {
o["items"]["properties"] = newData;
}
}else{
if (o[k]["properties"]) {
o[k]["properties"] = newData;
} else if (o[k]["items"]["properties"]) {
o[k]["items"]["properties"] = newData;
}
}
しかし、それは良くありません。これを達成するより洗練された方法は何ですか?
サンプルデータを提供できますか? – JosephGarrone
'tempData'に' properties'を設定したいオブジェクトを格納し、 'tempData.properties = newData;'のようなことをするのがより良い方法です。データにアクセスするには、 'tempData'の代わりに' tempData.properties'を使用します(もちろん、 'tempData'にはより良い名前を付けるべきです)。 –
短い回答番号javascriptがポインターをサポートしていない限り、単純な方法はありません。 –