Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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_Jquery_Arrays_Drop Down Menu_Substring - Fatal编程技术网

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

Javascript 如何检查数组是否包含子字符串?,javascript,jquery,arrays,drop-down-menu,substring,Javascript,Jquery,Arrays,Drop Down Menu,Substring,是否可以检查字符串的数组是否包含子字符串?我知道如何找到一个数组是否有一个完整的字符串匹配(使用$.inArray、arr.includes、arr.indexOf等),但这些不匹配一个子字符串到一个字符串数组(至少对我来说) 如果我有一个具有以下选项的元素: positive (selected) positron (selected) negative negatron 如何对我的多选项数组是否包含子字符串pos进行布尔运算,以指示positive和positiron都在选择中 我希望能够

是否可以检查字符串的数组是否包含子字符串?我知道如何找到一个数组是否有一个完整的字符串匹配(使用$.inArray、arr.includes、arr.indexOf等),但这些不匹配一个子字符串到一个字符串数组(至少对我来说)

如果我有一个具有以下选项的
元素:

positive (selected)
positron (selected)
negative
negatron
如何对我的多选项数组是否包含子字符串
pos
进行布尔运算,以指示
positive
positiron
都在选择中


我希望能够根据是否进行了某些选择,向我的用户提供一些额外的问题来回答,但我不想编写一堆if/then语句来涵盖各种字符串。

您可以使用
indexOf
检查数组元素是否包含子字符串

var testData=['正','负']
testData.forEach(函数(项){
如果(项目索引of('pos')!=-1){
console.log('Hava data')
}

})
阵列.prototype具有非常有用的
过滤功能

const arr=[“正”、“正电子”、“负”、“负电子”];
函数findMatches(){
让searchVal=document.getElementById('test').value;
设res=arr.filter(el=>el.indexOf(searchVal)>-1);
document.getElementById('result').innerHTML=res.join(',');
}

发现

数组:[“正”、“正电子”、“负”、“负电子”]

好的,但是首先用each遍历数组,所以每个数组元素都用
indexOf
进行测试。我明白了。是否可以不使用
forEach
步骤直接查询数组中的子字符串?@user1837608如果只有一个元素,请查看
array.prototype.find()。如何将array.filter合并到
if
条件中?意思是,{if(arr.filter(?indexOf('substr'))>-1{//do logic}返回OP。如果需要任何匹配,则可以使用
.reduce
返回单个值进行比较(
[]
是可能的)。如果需要全部,则将答案与我的答案中的结果进行比较。