2011-09-20 84 views
1

我有這樣的對象:如果對象發現,使用其他屬性在jQuery的

Object -> 

Content: <h1>some html</h1> 
Url : A url 

現在,我使用這個代碼摸出如果某個URL在當前對象存在:

var inURLArray = function(url, array) { 
     for(var i in array) { 
      if(array[i].url && array[i].url == url) 
       return true; 
      } 
       return false; 
     }; 

所以我通過它的網址我正在尋找和我正在尋找的對象。然後我可以做var found = inURLArray('http://google.com', tabArray);如果我找到我想要的內容在同一個對象中找到我的網址,我該怎麼辦。該數組被稱爲tabArray。我正在使用jQuery/Javascript!

我應該說,我真的不介意我如何訪問內容,即。如果它存儲在一個變量或警報!

+0

我很難理解你究竟在做什麼。 –

+0

err你不能做'tabArray.Content'嗎?我想我錯過了一些東西。你的問題可以做得稍微更清晰:) –

+0

所以你想從匹配給定url的對象獲取內容?或者我錯過了什麼?如果是這樣,爲什麼不在你的函數中返回內容? –

回答

3

您可以通過一個簡單地返回或空找到的對象,如果沒有一個替代的布爾函數:

var findInArrayByUrl = function(url, array) 
{ 
    for(var i in array) 
    { 
     if(array[i].url && array[i].url == url) 
     { 
      return array[i]; 
     } 
    } 
    return null; 
}; 
0

試試這個;

function getObjectInArrayByUrl (url, arr) { 
    var i 
     , obj 
     , arrLength = arr.length; 

    // loop the array 
    for (i = 0; i < arrLength; i++) { 
     // store the object in a var to save lookups 
     obj = arr[i]; 

     // if obj.url isn't present or doesn't match, skip 
     if (!('url' in obj) || obj.url != url) { 
      continue; 
     } 

     // otherwise return the matching object 
     return obj; 
    } 

    // otherwise return fail 
    return null; 
}; 
相關問題