Utilizzare il metodo Intersect della libreria JSLINQ per contare le occorrenze di alcune parole in un testo

di Stefano Mostarda, in LINQ,

Quando sviluppiamo un'applicazione web dove l'utente può inserire dei commenti, spesso abbiamo l'esigenza di moderare i commenti evitando l'inserimento di parole offensive o blasfeme o altro ancora. Ovviamente quest'operazione deve essere fatta lato server, ma è comunque meglio evitare già dal client che l'utente possa inserire certe parole.
Per verificare che l'utente non inserisca certe parole possiamo usare il metodo Intersect della libreria JSLINQ come nel seguente esempio:

var wordsToFind = ["parola1", "parola2", "parola3"];
var words = textToAnalyze.split(" ");
            
var count = JSLINQ(words)
  .Intersect(wordsToFind, function(item, index, item2, index2){
    return item.toLowerCase() == item2.toLowerCase();
  })
  .Count();

Il metodo Intersect accetta in input l'elemento corrente della lista di parole da analizzare e il suo indice, l'elemento corrente della lista di parole da cercare e il suo indice e se le parole corrispondono le mette in un array temporaneo che viene restituito quando il metodo termina la sua esecuzione. A questo punto basta usare il metodo Count per verificare che ci sia nel testo da analizzare almeno una parola di quelle ricercate.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi