2017-07-16 79 views
0

例如,我有字符串:的js檢查字符串數組

var str = "Overweek,Next 14 days"; 

和數組:

var arr=["Next 14 days","Next month"]; 

如何檢查如果str在引線一部分(Overweek和接下來14天)在陣列中。 我試過了:

$.inArray(str,array); 

但它不起作用。 我該如何解決它?

+0

。有多少個字符是「零件」? – jmargolisvt

回答

2

隨着Array.prototype.someString.prototype.includes

var str = "Overweek,Next 14 days"; 
 
var arr=["Next 14 days","Next month"]; 
 
let found = arr.some(needle => str.includes(needle)); 
 
console.log(found);

0
if(jQuery.inArray("Overweek", arr) !== -1){ 
    alert('IN ARRAY') 
} 

我不知道你想要什麼,但你可以用逗號分割的字符串,然後通過文字遍歷這個新陣詞,在我的例子做你原來的檢查等。

0

要麼使用some(如在其他答案),或者你可以使用String.protoype.includes.apply,如下圖所示:

var str = "Overweek,Next 14 days"; 
 
var arr=["Next 14 days","Next month"]; 
 

 
console.log(String.prototype.includes.apply(str, arr)); // true 
 
console.log(String.prototype.includes.apply(str, ['yesterday', 'tomorrow'])); // false 
 
console.log(String.prototype.includes.apply(str, ['Next 14 days', 'tomorrow'])); // true

0

當你說「的STR至少一部分」,你需要定義一個部分就是分割你的str然後循環

var str = "Overweek,Next 14 days"; 
var arr=["Next 14 days","Next month"]; 
$(str.split(',')).each(function(index, item){ 
    if($.inArray(item, arr) > -1) 
    alert(item); 
});