如果object具有包含文本的值

时间:2014-12-15 17:46:45

标签: javascript object properties

我试图查看对象中的任何属性是否包含值。到目前为止,我尝试过的所有事情都给出了错误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);
            }

1 个答案:

答案 0 :(得分: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)