将元素推入数组javascript
我需要在javascript中调试这段逻辑的帮助,我设置了硬断点来检查变量的值,但我无法将变量推回数组:origin和destination。这两个数组只是连接的lat-longs值的集合。我有一个TSV,它是由两个点组成的一行,分别分解为它们的横向长度,我将每个点重新连接成一对,然后将其推入我的起点和终点阵列 output.tsv的采样行将元素推入数组javascript,javascript,arrays,loops,Javascript,Arrays,Loops,我需要在javascript中调试这段逻辑的帮助,我设置了硬断点来检查变量的值,但我无法将变量推回数组:origin和destination。这两个数组只是连接的lat-longs值的集合。我有一个TSV,它是由两个点组成的一行,分别分解为它们的横向长度,我将每个点重新连接成一对,然后将其推入我的起点和终点阵列 output.tsv的采样行 Points 36.4535252345245 -122.3242534522 35.4535435435 -123.3342443545 代码: var
Points 36.4535252345245 -122.3242534522 35.4535435435 -123.3342443545
代码:
var-origins=[];
var目的地=[];
d3.tsv('output.tsv',函数(数据){
var json=json.stringify(数据);
var i;
for(i=0;i错误:未捕获类型错误:d3.tsv(…)不是函数(匿名函数)
更新:
问题的数组部分已经解决,这是一个语法错误
仍在获取未捕获的TypeError:d3.tsv(…)不是函数(匿名函数)&新错误InvalidValueError:不是查看代码的对象。它应该是…
origins.push(点1)
和destinations.push(点2)
我打赌它有点像原点没有定义,因为它没有定义。@m_调用并修复输入错误。错误发生在函数中。无论IIFE是否正确,您仍然需要使用存在的变量。为什么要这样做?d3.tsv
为您提供一个对象数组,每个对象都有键基于TSV的第一行和基于其他行的值。如果TSV包含正确的纬度和经度,则不需要所有这些数学运算。并且不能将这些括号放在末尾。d3。TSV
是一个异步代码,将在浏览器到达时立即运行。最终目标是在g上绘制多条路线oogle maps,tsv文件有20多行,每行有两个点(一个起点和一个终点)分解为LAT和LONG。将它们连接在一起,然后将它们传递给这些数组,让我可以将坐标集合发送到地图。抓到了!修复了推送问题。
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)