Introdução
Neste laboratório, exploraremos como converter dados de valores separados por vírgula (CSV - comma-separated values) em um array 2D usando JavaScript. Usaremos a função CSVToArray(), que recebe uma string CSV como entrada e a converte em um array de arrays. Este laboratório ajudará você a entender como trabalhar com dados CSV e manipulá-los usando JavaScript.
Convertendo CSV para um Array
Para converter uma string de valores separados por vírgula (CSV) em um array 2D, siga estes passos:
- Abra o Terminal/SSH e digite
nodepara começar a codificar. - Use
Array.prototype.indexOf()para localizar o primeiro caractere de nova linha (\n). - Use
Array.prototype.slice()para remover a primeira linha (linha de título) seomitFirstRowestiver definido comotrue. - Use
String.prototype.split()para criar uma string para cada linha. - Use
String.prototype.split()para separar os valores em cada linha usando odelimiterfornecido. - Se você não fornecer o segundo argumento,
delimiter, o delimitador padrão de','será usado. - Se você não fornecer o terceiro argumento,
omitFirstRow, a primeira linha (linha de título) da string CSV será incluída.
Aqui está o código para converter CSV em um array:
const CSVToArray = (data, delimiter = ",", omitFirstRow = false) =>
data
.slice(omitFirstRow ? data.indexOf("\n") + 1 : 0)
.split("\n")
.map((v) => v.split(delimiter));
Você pode usar os seguintes exemplos para testar a função:
CSVToArray("a,b\nc,d"); // [['a', 'b'], ['c', 'd']];
CSVToArray("a;b\nc;d", ";"); // [['a', 'b'], ['c', 'd']];
CSVToArray("col1,col2\na,b\nc,d", ",", true); // [['a', 'b'], ['c', 'd']];
Resumo
Parabéns! Você concluiu o laboratório de CSV para Array. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.