2014-12-15 2 views
-2

Я пытаюсь определить, есть ли какие-либо свойства в объекте. До сих пор все, что я пытался дало ошибку TypeError: undefined is not a functionЕсли объект имеет значение, которое содержит текст

for (var prop in obj) { 
       var objProp= obj[prop]; 
       var testone = obj.indexOfPropertyValue(prop,query); 
       var testtwo= obj[prop].indexOf(query); 
       var testthree = objProp.indexOf(query); 
      } 
+0

Где ошибка? –

+0

Консоль дает «TypeError: undefined не является функцией», когда она пытается запустить любое из того, что я пробовал. – user2920788

ответ

0

Не все есть метод IndexOf.

Так проверить свойство является строкой, прежде чем работать с ним

for (var prop in obj) { 
    if(obj.hasOwnProperty(prop) && typeof obj[prop] === "string") { 
     console.log(obj[prop].indexOf(query)); 
    } 
} 

или вы можете проверить, чтобы увидеть, если он поддерживает IndexOf

if(obj.hasOwnProperty(prop) && obj[prop].indexOf) 
+0

Это сработало. Не могу поверить, что я не думал об этом. – user2920788

Смежные вопросы