Javascript 检查数组匹配项的字符串并继续检查

Javascript 检查数组匹配项的字符串并继续检查,javascript,Javascript,我想存储一些字符串并检查textarea中的字符串是否等于存储的字符串 我决定从数组开始 var string = "something like this happens everyday in my life"; var array1 = [ "thing", "something" ]; var array2 = [ "happens", "life" ]; 我知道它是如何与一个单词字符串一起工作的: if(string.search(array1)

我想存储一些字符串并检查textarea中的字符串是否等于存储的字符串

我决定从数组开始

var string = "something like this happens everyday in my life";

var array1 = [
    "thing",
    "something"
];

var array2 = [
    "happens",
    "life"
];
我知道它是如何与一个单词字符串一起工作的:

if(string.search(array1) != -1) {
    console.log("array1");
} 

if(!!~jQuery.inArray(string.search, array1)) {
    console.log("array1");
} 
但我需要的是将这句话的每一项与我的数组进行比较,并得到每一个匹配项。即使一个数组中有多个匹配项。
请提供帮助。

检查字符串是否包含给定子字符串的最简单方法是

else
块下,have
matches.push(myWords[i])

如果您需要支持
≤IE8
,则可以使用以下函数在字符串中搜索子字符串:

var getPosition = function (s, word) {
    var len = s.length,
        wlen = word.length;
    for (var i = 0; i < len - wlen + 1; i++) {
        if (s[i] == word[0] && s.slice(i, i + wlen) == word)
            return i;
    }
    return -1;
}
var getPosition=函数(s,word){
var len=s.长度,
wlen=单词长度;
对于(变量i=0;i

如果您不想加载外部库,例如jQuery或Polyfill,只为
indexOf

加载外部库,那么这会很有用。现在,我对我拥有的每个数组都使用了它。我按C/V键10次,每次 用于(变量i=0;i<数组.length;i++){

for(变量i=0;i”);
}

}

请注意,
indexOf
在某些版本的internet explorer中不起作用,因此jquery的alternative@SLC我为jQuery函数添加了一个替代函数,以防OP不想使用任何库。
var matches = [];
var getPosition = function (s, word) {
    var len = s.length,
        wlen = word.length;
    for (var i = 0; i < len - wlen + 1; i++) {
        if (s[i] == word[0] && s.slice(i, i + wlen) == word)
            return i;
    }
    return -1;
}