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