使用数组检查字符串中是否包含项目



我想做一个数组来缩短我当前的string.includes() || string.includes()...代码,因为检查许多单词会使列表变长,但我找不到用数组复制这一点的简单方法。

array.includes(string)似乎只是专门检查字符串,所以如果字符串中也有其他东西,它就不会工作,这与我试图做的几乎相反。

非常感谢您的帮助。

你可以试试这个

const myString = "Hello";
const arrayOfStrings = ["H", "U", "W"];
const hasString = arrayOfStrings.some(el => myString.includes(el))
console.log(hasString)

您似乎不仅想缩短string.includes() || string.includes()...,而且还想将作为子字符串的所有字符串输出为集合,您可以使用map并过滤falsey输出,如下所示:

let array = ["ab", "a", "abc", "abd", "cd", "ce"];
let res = array.map(e=>"abcdef".includes(e)?e:null).filter(e=>e!=null)
console.log(res);

如果你仍然想要真/假输出,你可以使用reduce,如下所示:

let array = ["ab", "a", "abc", "abd", "cd", "ce"];
let res = array.map(e=>"abcdef".includes(e)).reduce((a,b)=>a||b,false)
console.log(res);

相关内容

  • 没有找到相关文章

最新更新