Javascript 如何在数组中过滤出不带';不包含某个值?

Javascript 如何在数组中过滤出不带';不包含某个值?,javascript,Javascript,我正在尝试制作这个脚本,在其中我可以在array1中填写我希望从array2中筛选出来的单词。所以我想得到一个新数组,它只包含array2中不包含array1中任何值的单词 这就是我现在所拥有的,但它不能正常工作,因为循环多次通过它,最后每个单词都会多次进入它。现在我在数组1中有3个值,每个单词都会被检查3次,所以最后每个单词都会进入最后一个数组。我筛选出重复的单词以供参考 有人能解决这个问题吗? JS fiddle链接: var array2=[“一月”、“二月”、“三月”、“四月”、“五月”

我正在尝试制作这个脚本,在其中我可以在array1中填写我希望从array2中筛选出来的单词。所以我想得到一个新数组,它只包含array2中不包含array1中任何值的单词

这就是我现在所拥有的,但它不能正常工作,因为循环多次通过它,最后每个单词都会多次进入它。现在我在数组1中有3个值,每个单词都会被检查3次,所以最后每个单词都会进入最后一个数组。我筛选出重复的单词以供参考

有人能解决这个问题吗? JS fiddle链接:

var array2=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”]
var array1=[“每年”、“五月”、“十二月”];
var不匹配=[];
设计数器=0;
对于(var b=0;b你好

您可以在
array2
上使用
filter()
,并使用
some()
检查
array1
的任何值是否包含在字符串中

var array2=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”]
var array1=[“每年”、“五月”、“十二月”];
设res=array2.filter(x=>array1.some(a=>x.includes(a));

console.log(res)
的可能副本的可能副本是否还有排除而不是包括的方法?@emred Yes只需使用
some()之前<代码>array2.filter(x=>!array1.some(a=>x.includes(a))
var array2 = ["January", "February", "March", "April", "May", "June"]
var array1 = ["uary", "May", "December"];
var notMatched = [];
let counter = 0;

for(var b = 0; b < array1.length; b++) {

    for(var i = 0; i < array2.length; i++) {

      if(array2[i].indexOf(array1[b]) != -1)
        { 
        //console.log(stringxa[i]);
        }
        else{
        notMatched[counter] = array2[i];
        counter++;
        }
    }
}
//this filter will remove duplicate elements from array
var unique = notMatched.filter(function(elem, index, self) {
    return index == self.indexOf(elem);
});
document.getElementById("text").innerHTML = unique;


<p id='text'>hi</p>