2016-07-22 4 views
-1

javascript에서이 논리 부분을 디버깅하는 데 도움이 필요합니다. 내 변수 값을 확인하기 위해 하드 중단 점을 설정했지만 배열에 내 변수를 다시 보낼 수는 없습니다. 원본 및 대상. 두 배열은 조인 된 long long 값의 컬렉션입니다. TSV는 각자 long long으로 세분화 된 두 점의 행으로, 각 행을 한 쌍으로 다시 합친 다음 원래의 배열과 대상 배열로 밀어 넣습니다.배열로 요소 밀어 넣기

output.tsv의 샘플 라인

Points 36.4535252345245 -122.3242534522 35.4535435435 -123.3342443545 

번호 :

var origins = []; 
var destinations = []; 

d3.tsv('output.tsv', function(data){ 
    var json = JSON.stringify(data); 
    var i; 
    for(i=0; i<data.length; i++) { 
     var lat1, lat2, long1, long2; 
     var point1, point2; 

     lat1 = data[i].b; //value = 36.4535252345245 
     long1 = data[i].c; //value = -122.3242534522 
     lat2 = data[i].d; //value = 35.4535435435 
     long2 = data[i].e; //value = -123.3342443545 

     point1 = lat1 + ', ' + long1; //value = 36.4535252345245, -122.3242534522 
     point2 = lat2 + ', ' + long2; //value = 35.4535435435, -123.3342443545 
     origins.push(point1) 
     destinations.push(point2) 
    } 
})(); -> ERROR : Uncaught TypeError: d3.tsv(...) is not a function(anonymous function) 

UPDATE :

다음은 문제의 배열 부분을 밀어 해결되었다. 그것은 문법 실수였습니다.

아직도 처리되지 않는 형식 오류 점점 : 코드를 보면이 아닌 객체

+0

나는 원산지가 정의되지 않았습니다. –

+0

@m_callens \t 그리고 오타를 수정하십시오. 함수 내에서 오류가 발생했습니다. IIFE가 올바른지 아닌지에 관계없이 여전히 존재하는 변수를 사용해야합니다. –

+0

왜 이러는거야? 'd3.tsv'는 객체의 배열을 제공합니다. 각 객체는 TSV의 첫 번째 줄을 기반으로하는 키와 다른 줄을 기반으로 한 값을 갖습니다. TSV에 정확한 위도와 경도가 포함되어 있다면이 모든 수학이 필요하지 않습니다. –

답변

0

: d3.tsv (...하는) 함수 (익명 함수) & 새로운 오류 InvalidValueError 없습니다. 그럴까요 ...
origins.push(point1)destinations.push(point2)

+0

Good 잡기! 푸시 문제가 해결되었습니다. – Katserbot