Conversione da Array a Stringa in JavaScript

Concetti Chiave
  • In JavaScript, possiamo convertire un array in una stringa utilizzando i metodi join, toString e toLocaleString.
  • Il metodo join() concatena gli elementi dell'array in una stringa, utilizzando un delimitatore specificato o una virgola per impostazione predefinita.
  • Il metodo toString() converte l'array in una stringa, separando gli elementi con una virgola, ma senza delimitatori aggiuntivi.
  • Il metodo toLocaleString() è simile a toString(), ma utilizza una stringa separatrice specifica per le impostazioni locali, convertendo ogni elemento in una stringa chiamando il suo metodo toLocaleString().
  • Questi metodi sono utili per creare rappresentazioni testuali degli array, ad esempio per la visualizzazione in console o per la creazione di messaggi di log.

Conversione da Array a Stringa

La classe Array definisce tre metodi che possono convertire gli array in stringhe, il che è generalmente qualcosa che potremmo fare quando creiamo messaggi di log e di errore.

Esiste anche un altro metodo, che studieremo in seguito, che permette di trasformare un array in una stringa JSON.

Il metodo join() converte tutti gli elementi di un array in stringhe e li concatena, restituendo la stringa risultante. Possiamo specificare una stringa opzionale che separa gli elementi nella stringa risultante. Se non viene specificata nessuna stringa separatrice, viene usata una virgola:

let a = [1, 2, 3];

// Converte l'array in una stringa
// Nessun delimitatore specificato
// usa la virgola come delimitatore
a.join()               // => "1,2,3"

// Converte l'array in una stringa
// Specifica uno spazio come delimitatore
a.join(" ")            // => "1 2 3"

// Converte l'array in una stringa
// Usa un delimitatore vuoto
a.join("")             // => "123"

// Un array di lunghezza 10 senza elementi
let b = new Array(10);
b.join("-")            // => "---------": una stringa di 9 trattini

Il metodo join() è l'inverso del metodo String.split(), che crea un array dividendo una stringa in pezzi.

Gli array, come tutti gli oggetti JavaScript, hanno un metodo toString(). Per un array, questo metodo funziona proprio come il metodo join() senza argomenti:

[1,2,3].toString()          // => "1,2,3"
["a", "b", "c"].toString()  // => "a,b,c"
[1, [2,"c"]].toString()     // => "1,2,c"

Si noti che l'output non include parentesi quadre o alcun altro tipo di delimitatore intorno al valore dell'array.

toLocaleString() è la versione localizzata di toString(). Converte ogni elemento dell'array in una stringa chiamando il metodo toLocaleString() dell'elemento, e poi concatena le stringhe risultanti usando una stringa separatrice specifica per le impostazioni locali (e definita dall'implementazione).

let a = [1, 2, 3];
a.toLocaleString()         // => "1,2,3"
let b = [1, [2, "c"]];
b.toLocaleString()        // => "1,2,c"