Js检查字符串是否在数组

时间:2017-07-16 14:43:35

标签: javascript jquery

例如,我有字符串:

var str = "Overweek,Next 14 days";

并且数组:

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

如何检查str(过周和接下来的14天)中的一部分是否在数组中。 我试过了:

$.inArray(str,array);

但它不起作用。 我该如何解决?

4 个答案:

答案 0 :(得分: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);

答案 1 :(得分:1)

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

我不确定你想要什么,但是你可以用逗号分割你的字符串,然后逐字迭代这个新数组并像我的例子一样进行原始检查。

答案 2 :(得分: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

答案 3 :(得分:0)

拆分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);
});