Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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_Arrays - Fatal编程技术网

如何在Javascript中检查数组是否包含字符串?

如何在Javascript中检查数组是否包含字符串?,javascript,arrays,Javascript,Arrays,我有一个包含字符串的数组 var js_userBoxName = new Array(); 如果字符串包含应该显示的单词foo,我想搜索数组的元素 例如,我的数组包含单词{foofy,foofa,foo,awtsy},foofy,foofa和foo,因为它们都包含单词foo。检查方法: 链接的MDN页面包含用于不支持它的浏览器的polyfill。如果您碰巧正在使用jQuery,则可以使用: 请查看以下方法: 链接的MDN页面包含用于不支持它的浏览器的polyfill。如果您碰巧正在使用jQu

我有一个包含字符串的数组

var js_userBoxName = new Array();
如果字符串包含应该显示的单词foo,我想搜索数组的元素

例如,我的数组包含单词{foofy,foofa,foo,awtsy},foofy,foofa和foo,因为它们都包含单词foo。

检查方法:

链接的MDN页面包含用于不支持它的浏览器的polyfill。如果您碰巧正在使用jQuery,则可以使用:

请查看以下方法:

链接的MDN页面包含用于不支持它的浏览器的polyfill。如果您碰巧正在使用jQuery,则可以使用:


注意:好的性能提示是在迭代数组时总是缓存数组的长度,而不是在每次循环执行时重新计算它。len=js_userBoxName.length


注意:好的性能提示是在迭代数组时总是缓存数组的长度,而不是在每次循环执行时重新计算它。len=js_userBoxName.length


以下方面应起作用:

var myArray = ['foofy', 'foofa', 'foo', 'awtsy'];

for ( var i = 0; i < myArray.length; i++ ) {
  if ( myArray[i].contains('foo') )
    console.log(myArray[i]);
}
印刷品: 肥胖的 福法 福


注意:awtsy不包含模式foo

以下内容应适用:

var myArray = ['foofy', 'foofa', 'foo', 'awtsy'];

for ( var i = 0; i < myArray.length; i++ ) {
  if ( myArray[i].contains('foo') )
    console.log(myArray[i]);
}
印刷品: 肥胖的 福法 福


注意:awtsy不包含模式foo

下面的函数应该可以实现这一点,它只使用标准的acme脚本元素

function Find (myarray, searchterm){
    for (var i=0, len = myarray.length; i<len; i += 1){
         if (typeof(myarray[i]) === 'string' && myarray[i].search(searchterm) !== -1){
             // print or whatever
             //hint use a callback here that you pass in as an additional arugment
         }
    }
}

如果需要检查更复杂的内容,使用search可以使用regex。下面的函数应该可以做到这一点,它只使用标准的acme脚本元素

function Find (myarray, searchterm){
    for (var i=0, len = myarray.length; i<len; i += 1){
         if (typeof(myarray[i]) === 'string' && myarray[i].search(searchterm) !== -1){
             // print or whatever
             //hint use a callback here that you pass in as an additional arugment
         }
    }
}

如果需要检查更复杂的内容,使用搜索可以使用正则表达式。您也可以尝试以下方法:

var myarray=[foofy,foofa,foo,awtsy]; var\u string=foo; var foundmatch=[]; fori=0;i警觉匹配 您也可以尝试以下方法:

var myarray=[foofy,foofa,foo,awtsy]; var\u string=foo; var foundmatch=[]; fori=0;i警觉匹配;这有帮助吗?你遇到的问题是通过字符串剖析数组的迭代吗?你试过什么?这有帮助吗?你遇到的问题是通过字符串剖析数组的迭代吗?您尝试过什么?如果需要支持IE<9,那么可能必须使用shim如果需要支持IE<9,那么可能必须使用shim+1来缓存数组。长度和类型检查,在检查IndexOf4的返回值时,您还应该使用==-1刚才注意到===是否与==相同,它被称为'strict equals,'对于实际对象,而不是字符串或数字等简单类型,它会比较'instance'等式,即,此对象是否与此对象完全相同,并且某些人认为它是最佳实践。查看此项了解更多信息:+1用于缓存array.length和类型检查,在检查IndexOf4的返回值时还应使用==-1刚才注意到===与==相同,它被称为'strict equals,'对于实际对象,而不是字符串或数字等简单类型,它会比较'instance'等式,即,此对象是否与此对象完全相同,并且某些人认为它是最佳实践。查看此文件了解更多信息:这将显示foofy和foofa还是仅显示foo?…抱歉,我现在没有计算机,因此无法尝试…它将返回包含单词foo的所有数组字符串元素。在这种情况下:foofy,foofa和foofa这会显示foofy和foofa还是仅显示foo?…很抱歉,我现在没有计算机,因此无法尝试…它将返回包含单词foo的所有数组字符串元素。在本例中:foofy、foofa和foofa是所有答案中最简单、最简单的。谢谢所有答案中最简单的。谢谢
function Find (myarray, searchterm){
    for (var i=0, len = myarray.length; i<len; i += 1){
         if (typeof(myarray[i]) === 'string' && myarray[i].search(searchterm) !== -1){
             // print or whatever
             //hint use a callback here that you pass in as an additional arugment
         }
    }
}