我的功能來實現搜索如下。我遇到的問題是我需要跟蹤我必須通過哪些行來查找URL。我正在構建一個導航「小部件」,我需要它根據URL擴展到正確的位置。看到網址可能是N行深度,我需要一種方法來跟蹤它通過的行。如何在json中的多維對象中搜索時跟蹤對象父項?
EG:row [1] .tree.row [3] .tree.row [0],這樣我知道要擴展第二個元素的導航,然後是第四個元素,然後突出顯示第一個元素名單。
問題出在rowNum = rowNum +「x」+ x;我回傳給該函數的。我想我可能會過度疲勞,當我認爲這會奏效的時候,我沒有想到它會通過。
對此提出建議?
謝謝! 我還有一個關於這個功能的問題,但這個問題是不同的。提交額外問題是否是不好的形式?
function lmIntra_LeftNavBuilder_findURL(url)
{
return lmIntra_LeftNavBuilder_searchJson(jsonLNav.tree[0],url,null);
}//end findURL
function lmIntra_LeftNavBuilder_searchJson(tree,url,rowNum)
{
if(rowNum == null)
{
rowNum="";
}
for(var x=0; x<=tree.rows.length-1;x++)
{
var cururl = "";
if(typeof tree.rows[x] ==="undefined")
{
cururl="";
}else
{
var cururl = tree.rows[x].url;
}
if(url == cururl)
{
//return tree.rows[x].title;
return rowNum + " treeDepth:"+tree.pos;
}//end if
else
{
if(typeof tree.rows[x]!= "undefined")
{
if(typeof tree.rows[x].tree.rows != "undefined")
{
rowNum = rowNum+"x"+x;
var t = lmIntra_LeftNavBuilder_searchJson(tree.rows[x].tree,url,rowNum);
if (t) return t;
}//end if
}//end if typeof tree.rows[x].tree!= "undefined"
}//end else
}//end for
}//end searchJson
這是一個更簡單的json對象。它完全成型,它沒有深度。完整的一個是38K個字符,所以我會離開它。
var jsonLNav = {itemClassName:"NodeLink",linkClassName:"NodeLinkTitle",linkHideClassName:"HideFromProd",navCategoryClassName:"NavCategory",onLoadJS:"",tree:[{pos:1,wid:"263a97c2-7cb9-470c-bf86-cadc28ae1323",pid:"1",rows:[{hide:0,title:"More IT Help",isNC:0,isMig:0,url:"http://vm-hsspdv-d09p/en-us/Help/Pages/ITHelp.aspx",isOL:0,tree:{pos:2,wid:"263a97c2-7cb9-470c-bf86-cadc28ae1323",pid:"3"}},{hide:0,title:"Office 2010",isNC:0,isMig:1,url:"http://office2010.lmig.com/Pages/Default.aspx",isOL:0,tree:{pos:2,wid:"263a97c2-7cb9-470c-bf86-cadc28ae1323",pid:"9"}},{hide:0,title:"E-mail Management",isNC:0,isMig:0,url:"http://vm-hsspdv-d09p/en-us/Help/EmailManagement/Pages/default.aspx",isOL:0,tree:{pos:2,wid:"8be66348-8da1-4e5c-90c5-0930d2f52d1a",pid:"123"}},]}]};
[有作爲JSON對象沒有這樣的事情(http://benalman.com/news/2010/03 /孤單-NO-這樣-東西作爲一種-JSON /)。 – 2011-03-23 23:45:32
@Matt球。謝謝。 – kevingreen 2011-03-24 13:43:16