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:
it → itit).const processWords = function (...) {...}).forEach, uno dei metodi di iterazione.len = word.length.< 2 → ''.== 2 → word + word.>= 3 → word.slice(0, 2) + word.slice(-2) (metodo slice mostrato fra le operazioni sulle stringhe).console.log, così da verificare visivamente la correttezza."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"
]);
node warmup.js
slice accetta indici negativi (conta da destra), caratteristica spesso ignorata ma utilissima.