例如,我有字符串:
var str = "Overweek,Next 14 days";
并且数组:
var arr=["Next 14 days","Next month"];
如何检查str(过周和接下来的14天)中的一部分是否在数组中。 我试过了:
$.inArray(str,array);
但它不起作用。 我该如何解决?
答案 0 :(得分:2)
Array.prototype.some
和String.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);
});