JavaScript .filter and .includes to filter array with array?

i am pretty new to javascript and doing a course to gain some experience but i am breaking my head on the return concept sometimes. Basically this is the task i am stuck at:

There is an array of words that are unnecessary. Iterate over your array to filter out these words. Save the remaining words in an array called betterWords. There are several ways that you could achieve this.

i tried so many different things... but i cant get it to work.

code :

let story = 'Last weekend, I took literally the most beautiful bike ride of my life. The route is called "The 9W to Nyack" and it actually stretches all the way from Riverside Park in Manhattan to South Nyack, New Jersey. It\'s really an adventure from beginning to end! It is a 48 mile loop and it basically took me an entire day. I stopped at Riverbank State Park to take some extremely artsy photos. It was a short stop, though, because I had a really long way left to go. After a quick photo op at the very popular Little Red Lighthouse, I began my trek across the George Washington Bridge into New Jersey.  The GW is actually very long - 4,760 feet! I was already very tired by the time I got to the other side.  An hour later, I reached Greenbrook Nature Sanctuary, an extremely beautiful park along the coast of the Hudson.  Something that was very surprising to me was that near the end of the route you actually cross back into New York! At this point, you are very close to the end.';

let overusedWords = ['really', 'very', 'basically'];
let unnecessaryWords = ['extremely', 'literally', 'actually' ];
let storyWords = story.split(' ');
console.log(storyWords.length);

let betterWords = storyWords.filter(function(words){
  if(story.includes(unnecessaryWords) === false){
    return words;
  }
});
console.log(betterWords);
Answer:1

You should check if the current word is included or not in the array unnecessaryWords:

let betterWords = storyWords.filter(function(currentWord) {
    return !unnecessaryWords.includes(currentWord);
});

filter will loop the array storyWords, and for each word currentWord of that array, it will call a function, if that function returns true then the currentWord will be included in the result array, otherwise it won't. Now, for each currentWord, we want to check if unnecessaryWords includes it or not, if it includes it, we will return false, if not, we will return true. The operator ! is used to invert a boolean value (if includes return true we want to return false, if it return false we want to return true, so we just use ! to invert the result of includes and return).

Answer:2

you can do the following which can be easily read and understood at a glance. another benefit, if unnecessary words is not indeed dynamic, is that the length of unnecessaryWords is readily evident, which could come in handy if in the future when you're reviewing/editing/etc your code

let betterWords = storyWords.filter( (v) =>
  (
    v !== unnecessaryWords[0] &&
    v !== unnecessaryWords[1] &&
    v !== unnecessaryWords[2]
  )
)

or if the unnecessaryWords array is dynamic...

let betterWords = storyWords.filter( (v) =>
  return !unnecessaryWords.includes(v)
)
Answer:3

I have created a objects in .less, and i have created a few buttons in a php file, when the button is clicked in the php file I want some of the objects to hide. Here is my php code <label for="...

I have created a objects in .less, and i have created a few buttons in a php file, when the button is clicked in the php file I want some of the objects to hide. Here is my php code <label for="...

  1. function hides a non virtual function
  2. function hides a non-virtual function from class
  3. function hide password in c
  4. function hide javascript
  5. function hide show javascript
  6. function hide div
  7. function hide show jquery
  8. function hide and show
  9. function hide js
  10. function hideurlbar
  11. function hide div javascript
  12. function hide excel
  13. function hide row excel
  14. function hideurlbar() window.scrollto(0 1)
  15. function hide php
  16. function hide modal
  17. function hides inherited member
  18. function hide button
  19. function hide c++
  20. function hide html

I have response object i just assigned to "this" object. private data: Object = {}; this.http.post('url', { }) .subscribe( res => { console.log(res); this.data ...

I have response object i just assigned to "this" object. private data: Object = {}; this.http.post('url', { }) .subscribe( res => { console.log(res); this.data ...

  1. that does access mean

What do I need to add so that when a user clicks on the Current Period button, the entire area (which is shaded in the second image for clarity) is replaced with the content of the page controlled by ...

What do I need to add so that when a user clicks on the Current Period button, the entire area (which is shaded in the second image for clarity) is replaced with the content of the page controlled by ...

I'm using dynamodb npm to query dynamodb When I query as below, though I set limit as 12 items, It always returns 10 items TableDB .query(lang) .filter('users').in(['case1','case2']) ....

I'm using dynamodb npm to query dynamodb When I query as below, though I set limit as 12 items, It always returns 10 items TableDB .query(lang) .filter('users').in(['case1','case2']) ....