私はオブジェクト及び第二の最後のノードにデータを追加
x = {
"y": 55.11,
"color": "#4572A7",
"level": 0,
"drilldown": {
"name": "MSIE versions",
"level": 1,
"color": "#4572A7",
"categories": ["MSIE 8.0", "MSIE 6.0", "MSIE 7.0", "MSIE 9.0"],
"data": [
{
"y": 33.06,
"color": "#4572A7",
"level": 1,
"drilldown": {
"name": "drilldown next level",
"level": 2,
"color": "#4572A7",
"categories": ["a", "b", "c"],
"data": [23,54,47]
}
},
]
}
}
注意を持っている、これは実際に私がオブジェクトに新しいプロパティを追加していて任意の深さに行くが、
ようspeific形式である可能性がありx['drilldown] = {}
x.drilldown['data] =[]
....and so on....
だから私は、オブジェクト構造の下に持っている時とします
x {
drilldown {
data [
drilldown {
data [1,2,3]
}
]
}
}
.....................
私がに行く必要がオブジェクト 'x'の最後の2番目の 'data'要素を読み込み、新しい値をプッシュします。
x.drilldown.data.push(10);
だから、すべてに私がオブジェクトに最後から二番目のデータプロパティを見つける必要がある「X」は、その後、それに
Xを値をプッシュ:だから、それはこのようなものになるだろう上記の私の例に基づきます。 最後の2番目のデータ配列 .push(10);
どうすればいいですか?
==============================================私は追加
====================================
[追加ソリューション]以下のコードとそれは正常に動作します。私はそれが正しい方法であることを願っています:
var data = [10,11,12];
var datatemp = x.drilldown;
var datatempvar = {};
for (;typeof datatemp != 'undefined';)
{
datatempvar = datatemp;
datatemp = datatemp.drilldown;
}
for(it=0;it<data.length; it++)
datatempvar.data.push(data[it]);
ありがとうございます。このフォーラムは私には大いに役立ちました。
、それは正確にjQueryのに持っていますか? – gdoron
オブジェクトをトラバースする方法はありますか? – Prakash
jQueryがDOMをたどり着いたり、オブジェクトではなくXMLになったりする可能性があります...私はそれを疑うが、プラグインを見つけることができるかもしれない。 – gdoron