'.contains'在Android手机中不起作用,但它在网页上运行良好

时间:2013-07-20 18:24:50

标签: javascript

我有一个产品列表,我想通过输入参数来搜索产品列表。所以我使用contains来缩减产品列表中的输入字符串。它与网页的工作正常。但是当我在移动网页中打开同一页面时,它无法正常工作。并且在未定义时给出'包含'的错误。

if(productlist[i].name.toLowerCase().contains(input_val.toLowerCase()))

    --my business logic--

之后我尝试了indexOf,然后在两种情况下都能正常工作。

if(productlist[i].name.toLowerCase().indexOf(input_val.toLowerCase()) !== -1)
    --my business logic --

.contains的问题是什么?

1 个答案:

答案 0 :(得分:2)

使用此Polyfill,(参考:MDN

if(!('contains' in String.prototype)) {
  String.prototype.contains = function(str, startIndex) { 
      return -1 !== String.prototype.indexOf.call(this, str, startIndex); 
  };
}

请参阅我可以使用的Compatibility table ...

更新:您也可以查看this answer