Javascript 查找数组中包含子字符串的字符串的索引

Javascript 查找数组中包含子字符串的字符串的索引,javascript,Javascript,我试图找到数组中包含子字符串的字符串元素的索引。我尝试了数组#indexOf,但它总是返回-1 我做错了什么 var数组=[“OTHER-REQUEST-DEPT1”、“OTHER-REQUEST-DEPT2”、“OTHER-REQUEST-DEPT3”] var string=“DEPT2” log(array.indexOf(string))Array.indexOf()查找与其参数相等的数组项的索引 没有任何数组元素等于“DEPT2” 听起来您想使用.some()或.findIndex(

我试图找到数组中包含子字符串的字符串元素的索引。我尝试了
数组#indexOf
,但它总是返回-1

我做错了什么

var数组=[“OTHER-REQUEST-DEPT1”、“OTHER-REQUEST-DEPT2”、“OTHER-REQUEST-DEPT3”]
var string=“DEPT2”
log(array.indexOf(string))
Array.indexOf()
查找与其参数相等的数组项的索引

没有任何数组元素等于
“DEPT2”


听起来您想使用
.some()
.findIndex()
以及调用
项的箭头函数来检查数组是否包含(或查找)包含字符串的任何元素。包括(字符串)
通过SLaks展开答案,下面是一些功能示例,它们根据数组中包含子字符串的字符串的位置实现不同的结果

const数组=[“OTHER-REQUEST-DEPT1”、“OTHER-REQUEST-DEPT2”、“OTHER-REQUEST-DEPT3”];
const string=“DEPT2”;
log(array.find(e=>e.includes(string));
log(array.findIndex(e=>e.includes(string));
log(array.some(e=>e.includes(string));
log(array.reduce((m,e,i)=>e.includes(string)?Object.assign(m,{[i]:e}):m,{});
log(array.filter(e=>e.includes(string))