Struktur data dikembalikan oleh d3.csvParse

Oct 12 2020

Di d3.js, fungsi csvParse bekerja seperti:

d3.csvParse("foo,bar\n1,2\n2,3"); 
// [{foo: "1", bar: "2"}, {foo: "2", bar:"3"}, columns: ["foo", "bar"]]

T1 : Apa nama struktur dari data yang dikembalikan? terutama properti "kolom"?

Di luar d3.js, jika saya lakukan

var data = [{foo: "1", bar: "2"}, {foo: "2", bar:"3"}, columns: ["foo", "bar"]]
//uncaught syntaxerror unexpected token ':'

Q2 : Mengapa terjadi kesalahan? Bagaimana cara berkeliling?

Jawaban

1 GerardoFurtado Oct 12 2020 at 05:16

Output yang Anda lihat hanyalah array JavaScript biasa dan columnshanyalah properti dari array itu. Dalam JavaScript, array dapat memiliki properti.

Jika Anda melihat kode sumbernya , Anda akan melihat ini:

var rows = []

Lalu:

rows.columns = columns || [];

Berikut adalah contoh yang sangat mendasar:

const arr = [1, 2, 3, 4, 5];
arr.columns = "foo";
console.log(arr)

Lihat konsol browser Anda (bukan yang cuplikannya), Anda akan melihat ini (di Chrome dan Firefox, tetapi tidak di Safari):

[1, 2, 3, 4, 5, columns: "foo"]

Mengenai kesalahan Anda ...

// token tak terduga kesalahan sintaks yang tidak tertangkap ':'

... perlu diingat bahwa itu hanya keluaran di konsol, itu bukan notasi literal array yang valid.