Published
Edited
Oct 16, 2020
Insert cell
Insert cell
array_met_keys = [
{
name: 'Name',
get: x => x.name
},
{
name: "Mysterious",
get: x => x.thing
}
]
Insert cell
array_met_objecten = [
{ name: 'Michiel', thing: 100 },
{ name: 'Thomas', thing: 120 },
{ name: 'Timon', thing: 80 }
]
Insert cell
safe_string = x => JSON.stringify(String(x))
Insert cell
compact = `
${array_met_keys
.map(column => column.name)
.map(safe_string)
.join(',')}
${array_met_objecten
.map(item =>
array_met_keys
.map(column => column.get(item))
.map(safe_string)
.join(',')
)
.join(`\n`)}
`
Insert cell
less_compact({ data: array_met_objecten, columns: array_met_keys })
Insert cell
less_compact = ({ data, columns }) => {
let csv = "";
for (let column of columns) {
csv += `${safe_string(column.name)},`;
}
csv += `\n`;
for (let item of data) {
for (let column of columns) {
csv += `${safe_string(column.get(item))},`;
}
csv += `\n`;
}
return csv;
}
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more