Warm-up - Manipolazione di stringhe in JavaScript

Obiettivo

Realizzare (ed eseguire in Node.js) una funzione che, data una lista di parole, stampi per ciascuna una nuova stringa formata dai primi due e dagli ultimi due caratteri.

Regole particolari:

Procedura/Spiegazione passo-passo

  1. Definizione della funzione - utilizziamo una function expression per avere un riferimento assegnabile ad una costante (const processWords = function (...) {...}).
  2. Iterazione sull’array - l’array di ingresso viene percorso con forEach, uno dei metodi di iterazione.
  3. Logica di trasformazione:
  4. Stampa del risultato con console.log, così da verificare visivamente la correttezza.
  5. Richiamo della funzione passando un set di parole di prova.

Codice o snippet (JavaScript ES6 - eseguibile in Node.js)

"use strict";

/**
 * Restituisce la trasformazione richiesta per una singola parola.
 * @param {string} word
 * @returns {string}
 */
const transform = function(word) {
    const len = word.length;

    if (len < 2)            // caso 1
        return "";

    if (len === 2)          // caso 2
        return word + word;

    // caso generale >= 3
    return word.slice(0, 2) + word.slice(-2);
};

/**
 * Elabora e stampa i risultati per tutte le parole dell'array.
 * @param {string[]} words
 */
const processWords = function(words) {
    words.forEach(w => console.log(`${w} -> ${transform(w)}`));
};

// --- test ---
processWords([
    "spring",   // spng
    "it",       // itit
    "cat",      // caat
    "a",        // '' (stringa vuota)
    "JavaScript" 
]);

Esecuzione

node warmup.js

Osservazioni critiche