Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ';。包含';在安卓手机上不工作,但在网页上工作正常_Javascript - Fatal编程技术网

Javascript ';。包含';在安卓手机上不工作,但在网页上工作正常

Javascript ';。包含';在安卓手机上不工作,但在网页上工作正常,javascript,Javascript,我有一个productlist,我想通过输入参数删除productlist。因此,我使用contains在productlist中划出输入字符串。它可以很好地处理网页。但当我在手机网页中打开同一个页面时,它就不起作用了。并在not define中给出一个“包含”的错误 if(productlist[i].name.toLowerCase().contains(input_val.toLowerCase())) --my business logic-- 之后,我尝试了indexOf,

我有一个productlist,我想通过输入参数删除productlist。因此,我使用
contains
在productlist中划出输入字符串。它可以很好地处理网页。但当我在手机网页中打开同一个页面时,它就不起作用了。并在not define中给出一个“包含”的错误

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 --
问题是什么。包含

使用此Polyfill(参考:)

请参阅我可以使用的


更新:您也可以检查。

可能您的andriod浏览器不支持该功能?只需使用
indexOf
。你用eval做什么?Shawn是正确的,根据Mozilla的说法,Android不支持contains。contains是一个JavaScript和谐特性(ES6/ES.next)。但是,您可以创建自己的
contains
函数
String.prototype.contains=function(){…}我在使用eval,因为productlist是从服务器提交的,格式不同eval将格式更改为字符串。谢谢@JLevett@KousikChowdhury从来没有理由使用eval。你可以使用
String(productlist)
productlist.toString()
或者如果它是一个对象
JSON.stringify(productlist)
@shawn3131313,是的,当然是,但问题是
”。contains在android手机上不起作用,但在网页上可以正常工作
,所以回答相关的问题。
if(!('contains' in String.prototype)) {
  String.prototype.contains = function(str, startIndex) { 
      return -1 !== String.prototype.indexOf.call(this, str, startIndex); 
  };
}