我有一個對象遍歷的遞歸結構和數據添加到倒數第二個節點
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]
}
},
]
}
}
注意這實際上可以去任何深度爲我添加新的屬性的對象,但就像
上特有的格式x['drilldown] = {}
x.drilldown['data] =[]
....and so on....
因此,假設在同一時間我有對象的結構如下:
x {
drilldown {
data [
drilldown {
data [1,2,3]
}
]
}
}
.....................
我需要去對象'x'的第二個最後'數據'元素並推送新值。所以,在我的例子基於上述這將是這樣的:
x.drilldown.data.push(10);
所以在我需要找到對象「X」的倒數第二個數據屬性,然後在它
X推值。 倒數第二個數據陣列 .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 2012-03-22 21:47:13
如何遍歷對象 - 有什麼辦法嗎? – Prakash 2012-03-22 21:55:01
jQuery遍歷DOM或甚至XML,而不是對象...也許你可以找到一個插件,但我懷疑它。 – gdoron 2012-03-22 21:56:39