2017-09-12 1 views
0
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.includes(unnecessaryWords); 

So gibt es meine JavaScript-Code oben.Word-Filter mit Array-Methoden

Dies ist für eine Klassenzuweisung. Wir lernen etwas über Iteratoren für Arrays. (Grundsätzlich die hier definierten Methoden: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)

Was ich bereits getan habe, ist eine Zeichenfolge mit einer Geschichte eingerichtet. Ich machte dann zwei verschiedene Arrays, eines mit überstrapazierten Wörtern und eines mit unnötigen Wörtern.

Dann machte ich ein Array, das die Zeichenfolge aus der Variablenstory nehmen würde, die jedes Wort speicherte und es in ein neues Array namens storyWords legte.

Jetzt versuche ich ein Array zu erstellen, das die unnötigen Wörter entfernt. Ich möchte über mein Array iterieren, um diese Wörter herauszufiltern und die restlichen Wörter in einem Array namens betterWords zu speichern.

Wie kann ich das tun? Uns wurde gesagt, dass wir keine for-Schleifen verwenden und die Iteratoren, die wir gelernt haben, ausnutzen sollten. Ich bin sicher, es gibt eine Art von Funktion, die ich tun muss, um dies zu erreichen, aber ich kann es nicht für das Leben von mir herausfinden.

Im Moment denke ich, dass ich entweder .filter oder .includes verwenden muss, aber ich bin mir nicht sicher, wie es geht.

+1

Was haben Sie versucht? Sie versuchen nicht einmal mit einer einfachen Schleife. Wenn Sie denken, dass Sie 'filter' oder' include' brauchen - Lesen Sie die Dokumentation und sehen Sie, ob sie passt – Weedoze

+0

Abgesehen von Ihrer Aufgabe wäre der einfachste Weg eine Regex 'let rg = new RegExp (unnötigeWörter.join ('|') , 'gmi'); lassen besserworts = story.replace (rg, ''); ' – baao

Antwort

1

Verwenden Array#filter mit Array#include im Innern und das umzukehren.

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 unnecessaryWords = ['extremely', 'literally', 'actually' ]; 
 

 
let storyWords = story.split(' '); 
 

 
let betterWords = storyWords.filter(sw => !unnecessaryWords.includes(sw.toLowerCase())); 
 

 
console.log(betterWords);

+0

Danke! Ich weiß es zu schätzen, dass Sie auch die Pfeilsyntax verwenden. – hermes