Per controllare se le varie parole di una stringa sono incluse in un'altra, ti tornano molto utili le funzioni degli array:
let stringaDaCercare = "Jordan Chicago";
let scarpa = "Jordan One Chicago";
// Divide la stringa da cercare in un array di parole
let paroleDaCercare = stringaDaCercare.split(" ");
// Controlla che tutte le parole siano incluse nella stringa "scarpa"
let found = paroleDaCercare.every( (parola) => scarpa.includes(parola) );
if (found) {
console.log("Trovata!");
}
Oltre a questo, ti conviene prima trasformare entrambe le stringhe in minuscolo, così non si rischia di mancare qualche parola.
Comunque, ci sono metodi più efficaci (ma anche più complessi) per effettuare una ricerca basandosi sulla somiglianza fra due parole. Cercando ho trovato che sembra andare molto in profondità nell'argomento (anche se purtroppo è in inglese). Probabilmente non è ciò che cerchi in quanto a complessità, ma può essere un'utile risorsa per chi avesse bisogno di questi algoritmi in futuro
Documentazione:
- String.prototype.split (
MDN inglese)
- Array.prototype.every (
MDN)
- Array.prototype.includes (
MDN)