const rows = [ ["Name", "City", "Info"], ["name1", "city1", "some other info"], ["name2", "city2", "more info"] ]; let csvContent = rows.map(e => e.join(",")).join("\n");Del mismo modo, ¿cómo puedo implementar lo mismo en una matriz de objetos, por ejemplo?
const rows = [ {name:"FirstName", city:"City", info:"Info"}, {name:"LastName", city:"City", info:"Info"}, ];Primero puede Array#reducirlo, guardando Object.keys como la primera fila de encabezado, luego creando la estructura de matriz. Finalmente mapee todo eso como su primer ejemplo.
const rows2 = [{ name: "FirstName", city: "City", info: "Info" }, { name: "LastName", city: "City", info: "Info" }, ]; let csvContent2 = rows2.reduce((b, a, i) => { if (i === 0) b.push(Object.keys(a)) return b.concat([Object.values(a)]); }, []).map(e => e.join(",")).join("\n") console.log(csvContent2);