NodeJS / Javascript - Concatenando arrays com concat



Para concatenar arrays em Javascript basta aplicar o método .concat()

 let result = ['a','b','c'].concat(['d','e','f'])  
O resultado será a array abaixo:
 ['a','b','c','d','e','f']  
Outra maneira de aplicar a função:


 let var1 = ['a','b','c']  
 let var2 = ['d','e','f']  
 let result = var1.concat(var2)  

O resultado será o mesmo do exemplo anterior:
 ['a','b','c','d','e','f']  
É possível também fazer uma concatenação de uma array dentro de um objeto como no exemplo abaixo:

 let content = [{titulo:'Titulo 1',tags:['tag1','tag2']},{titulo:'Titulo 2',tags:['tag3','tag4']}]  
 let result = []  
 content.map( item => {  
  result = result.concat(item.tags)  
 } )  

Como resultado temos:
 ['tag1', 'tag2', 'tag3', 'tag4']  

Se ao invés de usar .concat() usarmos o .push():
 let content = [{titulo:'Titulo 1',tags:['tag1','tag2']},{titulo:'Titulo 2',tags:['tag3','tag4']}]   
  let result = []   
  content.map( item => {   
  result.push(item.tags)   
  } )  

Como resultado temos:
 [  
  ["tag1", "tag2"],  
  ["tag3", "tag4"]  
 ]  

O que é totalmente diferente o resultado anterior Uma maneira de reproduzir o método .concat() utilizando o método .map() é a que segue abaixo:

let content = [{titulo:'Titulo 1',tags:['tag1','tag2']},{titulo:'Titulo 2',tags:['tag3','tag4']}]   
  let result = []   
  content.map( item => {   
   item.tags.map( tag => {
     result.push( tag )
   })
  })

São duas linhas a mais no código o que o torna mais poluído.

Comentários

Postagens mais visitadas deste blog

MySQL - Completando quantidades fixas de caracteres com as funções LPAD() e RPAD()

MySQL - Clonando tabelas na linha de comando

PHP - Gerando arquivo em UTF-8 com fwrite() e utf8_encode()