Bonjour, je chercherais quelqu'un qui s'y connait un peu en classes javascript qui pourrait critiquer mon code/mes commentaires! (je viens d'apprendre les classes en js)
Bonne soirée
Modifié par vzytoi (08 Apr 2021 - 00:42)
Bonne soirée
/**
* convert a csv text content to a json array
* each line have to end using \n
*/
class csv_to_json {
/**
* @param {string} csv csv file content
* @param {string} separator csv separator
*
*/
constructor(csv, separator = ';') {
this.csv = csv;
this.separator = separator;
}
/**
* @returns {array} all keys of the csv content
*/
csv_keys() {
return this.csv.split('\n')[0].split(this.separator);
}
/**
* @returns {array} each csv lines
* @access private
*/
csv_content() {
return this.csv.split('\n').slice(1);
}
/**
* @returns {array} the final array for the csv
* @see csv_keys()
* @see csv_content()
*/
convert_json() {
let arr = [];
for(let e = 0; e < this.csv_content().length; e++) {
let line = this.csv_content()[e].split(this.separator);
arr.push({});
for(let i = 0; i < line.length; i++) {
if(typeof this.csv_keys()[i] != 'undefined') {
arr[e][this.csv_keys()[i].replace(' ', '')] = line[i];
}
}
}
return arr;
}
}
/**
* this is a csv file content example respecting csv_to_json rules
*/
let csv = "Prenom,Nom,Email,Age,Ville\n Robert,Lepingre,bobby@exemple.com,41,Paris\n Jeanne,Ducoux,jeanne@exemple.com,32,Marseille\n Pierre,Lenfant,pierre@exemple.com,23,Rennes";
Modifié par vzytoi (08 Apr 2021 - 00:42)