gpt4 book ai didi

javascript - 如何过滤掉数组中不包含特定值的单词?

转载 作者:行者123 更新时间:2023-11-30 19:35:19 24 4
gpt4 key购买 nike

我正在尝试制作此脚本,以便我可以在 array1 中填写我想从 array2 中过滤掉的单词。所以我想得到一个新数组,其中只有 array2 中的单词不包含 array1 中的任何值。

这就是我现在拥有的,但它不能正常工作,因为循环多次通过它,最后每个单词都多次进入。现在我在 array1 中有 3 个值,每个单词都会被检查 3 次,所以最后每个单词都会进入最终数组。我过滤掉了重复的词到

有人有办法解决这个问题吗?JS fiddle 链接:https://jsfiddle.net/45z1mpqo/

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>

最佳答案

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

var array2 = ["January", "February", "March", "April", "May", "June"]
var array1 = ["uary", "May", "December"];


let res = array2.filter(x => array1.some(a => x.includes(a)));

console.log(res)

关于javascript - 如何过滤掉数组中不包含特定值的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56002025/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com