2017-08-29 131 views
0

我有以下對象我不知道如何繼續。對象中的搜索值

Object image

我怎麼能經歷的所有對象,並選擇內容陣列搜索x的值。當x值在對象中時,我需要從找到值的對象中獲取對象標題

任何人都可以給我一個提示如何解決這個問題?

+0

有嵌套對象還是沒有? – zfrisch

回答

1

您可以使用......在遍歷對象, indexOf()來檢查數組內容中是否存在關鍵字。是這樣的:

function searchVal(x){ 
    for(var key in obj){ 
     if(obj[key].hasOwnProperty('content') && obj[key].content.includes(x)) 
      return key; 
    } 
} 
+0

您可以使用.contains(x)代替.indexOf(x)> = 0 – zfrisch

+0

@zfrisch否其包含... –

+0

感謝您的建議傢伙,代碼已更新。 – Dij

1

您可以使用for...in迭代的對象鍵,那麼一個普通for循環來檢查content陣列爲特定值:

​​
0
let name = Object.values(obj /*your main object*/) 
     .find(obj => obj.content.includes(x)) 
     .name; 

你可以找到對象的第一對象的值你的主要OBJ,具有財產內容包括 x的,然後得到的名字該對象。