Zwei JavaScript-Strings miteinander vergleichen?
Hallo :)
Ich habe folgendes gegeben:
let designDefinitions = {
simon: "To design is to devise courses of action aimed at changing existing situations into preferred ones.",
wikipedia: "A design is a plan or specification for the construction of an object or system or for the implementation of an activity or process or the result of that plan or specification in the form of a prototype, product, or process.",
};
Ich muss jetzt eine neue variable erstellen, die die wörter als array beinhaltet, die der String Simon und wikipedia BEIDE enthalten. Dafür soll ich "Chaining" verwenden. (Sorry, studiere gerade im Ausland..)
Wenn ich jetzt let simonWords = designDefinitions.simon.split (" "); eingebe habe ich alle Wörter als Array, aber wie finde ich jetzt die übereinstimmenden heraus?
Wäre echt super lieb wenn mir jemand helfen könnte.
1 Antwort
- Erstelle eine Liste an Simon-Wörtern.
- Erstelle eine Liste an Wikipedia-Wörtern.
- Suche aus den Simon-Wörtern nun die Wörter raus, die auch in den Wikipedia-Wörtern vorkommen. Das geht mittels Filter + Includes. Tipp: Der folgende Filter kann wie folgt gelesen werden: "Filtere mir die simonWords, welche in den wikipediaWords vorkommen".
const simonWords = designDefinitions.simon.split(" ");
const wikipediaWords = designDefinitions.wikipedia.split(" ");
const wordsInCommon = simonWords.filter(simonWord => wikipediaWords.includes(simonWord))
Das nennt sich übrigens "Intersection".
Ersetze einfach die Variablen.
Ersetze "simonWords" mit "designDefinitions.simon.split(" ")" und ersetze "wikipediaWords" mit "designDefinitions.wikipedia.split(" ")".
Aus
simonWords.filter(simonWord => wikipediaWords.includes(simonWord))
wird dann also
designDefinitions.simon.split(" ").filter(simonWord => designDefinitions.wikipedia.split(" ").includes(simonWord))
Hier mal mit deinem Beispiel, Step by Step, dann solltest du die Vorgehensweise hoffentlich checken:
let firstElement = months[0];
let wth = firstElement.weather;
let individualWords = wth.split(" ");
let wordCount = individualWords.length;
->
let wth = months[0].weather;
let individualWords = wth.split(" ");
let wordCount = individualWords.length;
->
let individualWords = months[0].weather.split(" ");
let wordCount = individualWords.length;
->
let wordCount = months[0].weather.split(" ").length;
Vielen Dank für deine schnelle Antwort!!
Weisst du vielleicht, wie ich das jetzt noch als "Einzeiler" command ohne zwischen variablen schreiben kann? Es geht meinem Professor hier insbesondere um Chaining, ich darf keine Zwischenvariablen erstellen :( Als Beispiel hat er das gebeben:
one line command:
line by line: