Array.prototype.join()

O método join() cria e devolve uma string ao concatenar todos os elementos numa array (ou objeto como um vetor / matriz) numa cadeia separada por vírgulas ou outro separador especificado. Se a array tem um só item, esse item é devolvido sem o uso do separador.

Sintaxe

vec.join([separador])

Parâmetros

separador Optional
Especifica uma string (cadeia de caracteres) para separar cada elemento do vetor. O separador é convertido em cadeia se for necessário. Se for omitido, os elementos serão separados por virgulas (","). Se separador é uma cadeia vazia, todos os elementos são unidos sem qualquer caráter entre eles.

Resultado

Uma cadeia (de caracteres) com todos os elementos do vetor unidos. Se vec.length é 0, é devolvida uma cadeia vazia.

Descrição

As conversões de todos os elementos do vetor para cadeias (de caracteres) são unidas numa única cadeia.

Caso algum elemento seja undefined, null ou um vetor vazio [], este será convertido numa cadeia vazia.

Exemplos

Juntar um vetor de quatro formas diferentes

O exemplo que se segue cria um vetor, a, com três elementos, depois disso une o vetor quatro vezes: usando o separador predefinido, uma vírgula e um espaço, o símbolo mais, e finalmente uma cadeia (de caracteres) vazia.

var a = ['Vento', 'Chuva', 'Fogo'];
a.join();      // 'Vento,Chuva,Fogo'
a.join(', ');  // 'Vento, Chuva, Fogo'
a.join(' + '); // 'Vento + Chuva + Fogo'
a.join('');    // 'VentoChuvaFogo'

Juntar um objeto como vetor

O seguinte exemplo junta um objeto como vetor (arguments), ao chamar Function.prototype.call no Array.prototype.join.

function f(a, b, c) {
  var s = Array.prototype.join.call(arguments);
  console.log(s); // '1,a,true'
}
f(1, 'a', true);
// valor devolvido: "1,a,true"

Especificações

Especificação
ECMAScript (ECMA-262)
The definition of 'Array.prototype.join' in that specification.

Compatibilidade

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
joinChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 5.5Opera Full support 4Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100

Legend

Full support  
Full support

Veja também