d3.csvParse에서 반환하는 데이터 구조

Oct 12 2020

d3.js에서 csvParse 함수는 다음과 같이 작동합니다.

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

Q1 : 반환 된 데이터의 구조 이름은 무엇입니까? 특히 "열"속성?

d3.js 외부에서

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

Q2 : 왜 오류입니까? 돌아 다니는 방법?

답변

1 GerardoFurtado Oct 12 2020 at 05:16

당신이보고있는 출력은 단지 일반 자바 스크립트 배열 이며 columns단순히 그 배열 의 속성 입니다. JavaScript에서 배열은 속성을 가질 수 있습니다.

소스 코드를 살펴보면 다음과 같이 표시됩니다.

var rows = []

그리고:

rows.columns = columns || [];

다음은 매우 기본적인 예입니다.

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

브라우저의 콘솔 (스 니펫이 아님)을 보면 다음과 같은 내용이 표시됩니다 (Chrome 및 Firefox에는 있지만 Safari에는 없음).

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

귀하의 오류에 대해 ...

//캐치되지 않는 구문 에러 : 예기치 않은 토큰 ':'

... 이것은 콘솔의 출력 일 뿐이며 유효한 배열 리터럴 표기법 이 아닙니다 .