2017-08-29 96 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的,然后得到的名字该对象。