Estructura de datos devuelta por d3.csvParse
En d3.js, la función csvParse funciona así:
d3.csvParse("foo,bar\n1,2\n2,3");
// [{foo: "1", bar: "2"}, {foo: "2", bar:"3"}, columns: ["foo", "bar"]]
P1 : ¿Cuál es el nombre de la estructura de los datos devueltos? especialmente las propiedades de las "columnas"?
Fuera de d3.js, si lo hago
var data = [{foo: "1", bar: "2"}, {foo: "2", bar:"3"}, columns: ["foo", "bar"]]
//uncaught syntaxerror unexpected token ':'
P2 : ¿Por qué es el error? ¿Como navegar?
Respuestas
La salida que está viendo es solo una matriz de JavaScript normal y columnses simplemente una propiedad de esa matriz. En JavaScript, las matrices pueden tener propiedades.
Si echas un vistazo al código fuente , verás esto:
var rows = []
Y entonces:
rows.columns = columns || [];
Aquí hay un ejemplo muy básico:
const arr = [1, 2, 3, 4, 5];
arr.columns = "foo";
console.log(arr)
Mire la consola de su navegador (no la del fragmento), verá esto (en Chrome y Firefox, pero no en Safari):
[1, 2, 3, 4, 5, columns: "foo"]
Respecto a tu error ...
//SyntaxError no detectada: fichas inesperado ':'
... tenga en cuenta que esa es solo la salida en la consola, que no es una notación literal de matriz válida.