将元素推入数组javascript

将元素推入数组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

我需要在javascript中调试这段逻辑的帮助,我设置了硬断点来检查变量的值,但我无法将变量推回数组:origin和destination。这两个数组只是连接的lat-longs值的集合。我有一个TSV,它是由两个点组成的一行,分别分解为它们的横向长度,我将每个点重新连接成一对,然后将其推入我的起点和终点阵列

output.tsv的采样行

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)