I\'m having some issues comparing the elements of two arrays and filtering out matching values. I only want to return array elements that are NOT included within wordsToRe
use filter and includes to perform this
var fullWordList = ['1','2','3','4','5'];
var wordsToRemove = ['1','2','3'];
var newList = fullWordList.filter(function(word){
return !wordsToRemove.includes(word);
})
console.log(newList);
That is pretty easy to do using Array.prototype.filter
:
var fullWordList = ['1','2','3','4','5'];
var wordsToRemove = ['1','2','3'];
var filteredKeywords = fullWordList.filter(
word=>!wordsToRemove.includes(word)
//or
//word=>wordsToRemove.indexOf(word)<0
);
forEach
on fullWordList
is not required, use filter
on fullWordList
and indexOf()
in your function in filter()
to check if a number exists in wordsToRemove
or not.
var fullWordList = ['1','2','3','4','5'];
var wordsToRemove = ['1','2','3'];
var newList = fullWordList.filter(function(x){
return wordsToRemove.indexOf(x) < 0;
})
console.log(newList);
Perhaps you could try
var fullWordList = ['1','2','3','4','5'];
var wordsToRemove = ['1','2','3'];
var match = [];
for(let word of fullWordList){
if(!wordsToRemove.find((val) => val == word))match.push(word);
}
You can use filter and includes to achieve this:
var fullWordList = ['1','2','3','4','5'];
var wordsToRemove = ['1','2','3'];
var filteredKeywords = fullWordList.filter((word) => !wordsToRemove.includes(word));
console.log(filteredKeywords);