Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
构建此字符串时,我接收到的未定义内容是什么?Javascript_Javascript_Arrays_Datatables_Undefined - Fatal编程技术网

构建此字符串时,我接收到的未定义内容是什么?Javascript

构建此字符串时,我接收到的未定义内容是什么?Javascript,javascript,arrays,datatables,undefined,Javascript,Arrays,Datatables,Undefined,我试图构建一个字符串,以便将结果放入DataTables表中 我使用一个数组,使用正则表达式获取它自己索引中的所有内容,结果字符串数组如下: ["41.8059016", "-77.0727825", "School Zone", "41.804526", "-77.075572", "Something", "41.804398", "-77.0743704", "Some Other Thing", "41.8073731", "-77.07304", "Pedestrian"] 一

我试图构建一个字符串,以便将结果放入DataTables表中

我使用一个数组,使用正则表达式获取它自己索引中的所有内容,结果字符串数组如下:

["41.8059016", "-77.0727825", "School Zone",
 "41.804526", "-77.075572", "Something",
 "41.804398", "-77.0743704", "Some Other Thing",
 "41.8073731", "-77.07304", "Pedestrian"]
一个大字符串数组,所有内容都在它自己的索引中。接下来,我将使用一个循环并构建一个字符串,以便将其传递到datatables表。其结果如下所示:

var dataString = [
    ["41.8059016", "-77.0727825", "School Zone"],
    ["41.804526", "-77.075572", "Something"],
    ["41.804398", "-77.0743704", "Some Other Thing"],
    ["41.8073731", "-77.07304", "Pedestrian"]
    ];
相反,我得到的是:

var dataString = undefined["41.8059016", "-77.0727825", "School Zone"],
                 ["41.804526", "-77.075572", "Something"],
                 ["41.804398", "-77.0743704", "Some Other Thing"],
                 ["41.8073731", "-77.07304", "Pedestrian"]
                 ];
下面是我从数组构建字符串的循环代码:

 for(var i = 0; i < routePoints.length-3; i+=3){
            console.log(routePoints);
            if(i >= 0 && i < routePoints.length - 4){
                dataSetString += '["' + routePoints[i] + '", "' + routePoints[i + 1] + '", "' + routePoints[i + 2] + '"],';
            }else if(i == routePoints.length - 3){
                dataSetString += '["' + routePoints[i] + '", "' + routePoints[i + 1] + '", "' + routePoints[i + 2] + '"]';
            }
        }
for(变量i=0;i=0&&i

如果我只是删除了“undefined”并粘贴了代码,数据表会很好地填充,但我甚至看不到undefined是从哪里来的。感谢第二组眼睛!

通常,undefined来自您的初始化。我在这里看不到代码,但您可能有类似的东西:

var数据集字符串

相反,应始终以空字符串开头,如下所示:

var dataSetString=“”


至于发生这种情况的原因。所有未初始化的变量默认为
undefined
。当您使用
+=
操作时,它将尝试解释您正在执行的操作(如果您有两个数字,它将添加它们,两个字符串:串联).Undefined没有好的
+=
操作,因此它使用操作的第二部分,即您要传递的字符串。因此,它会自动将
未定义的
转换为字符串,并将新字符串连接到该字符串,结果是
未定义[blah,blah,blah]“

通常,未定义的代码来自您的初始化。我在这里看不到代码,但您可能有类似的代码:

var数据集字符串

相反,应始终以空字符串开头,如下所示:

var dataSetString=“”


至于发生这种情况的原因。所有未初始化的变量默认为
undefined
。当您使用
+=
操作时,它将尝试解释您正在执行的操作(如果您有两个数字,它将添加它们,两个字符串:串联).Undefined没有好的
+=
操作,因此它使用操作的第二部分,即您要传递的字符串。因此,它会自动将
未定义的
转换为字符串,并将新字符串连接到该字符串,结果是
“Undefined[blah,blah,blah”
您不应该这样编写字符串。 看起来你需要的不是字符串,而是2D数组

var数据=[“41.8059016”、“-77.0727825”、“学校区域”,
“41.804526”、“-77.075572”、“某物”,
“41.804398”、“-77.0743704”、“其他东西”,
“41.8073731”、“-77.07304”、“行人”
];
var-dataString=[];
对于(var i=0;iconsole.log(JSON.stringify(dataString));
您不应该编写这样的字符串。 看起来你需要的不是字符串,而是2D数组

var数据=[“41.8059016”、“-77.0727825”、“学校区域”,
“41.804526”、“-77.075572”、“某物”,
“41.804398”、“-77.0743704”、“其他东西”,
“41.8073731”、“-77.07304”、“行人”
];
var-dataString=[];
对于(var i=0;i
console.log(JSON.stringify(dataString));
下一个投票人能解释为什么会被下一个投票吗?你必须在这里发布你的
路由点数组(我没有下一个投票).Typo?或者您是否缺少每个数组中最后一项的结束引号?当我复制并粘贴它时,这是一个Typo。我试图缩短它…现在添加路由点。降级投票者可以解释为什么被降级吗?您必须在此处发布您的
路由点
数组。(我没有降级).Typo?或者你是否缺少每个数组中最后一项的结束引号?当我复制并粘贴它时,这是一个Typo。我试图缩短它…现在添加路由点。这也是我的假设。我正要回答相同的问题。这就对了。这是一个愚蠢的错误…我没有意识到你必须对字符串这样做。(我对javascript还是相当陌生)不用担心,我们都会遇到。快乐的编码。这也是我的假设。我正要回答同样的问题。我明白了。这是一个愚蠢的错误……我没意识到你必须对字符串这么做。(我对javascript还是相当陌生)不用担心,我们都会这样。编码愉快。@MarcusHolden我正在创建一个数组数组。将该数组打印到控制台将在数组元素之间打印逗号。这太完美了。我不确定是什么搞砸了(仍在搜索罪魁祸首),但它现在工作得很好。我真的很感激!!@MarcusHolden不客气!如果这是您要找的,如果您将我的答案标记为已接受,我将不胜感激。@MarcusHolden我正在创建一个数组数组。将该数组打印到控制台将在数组元素之间打印逗号。这很完美。我不确定是什么他把事情搞砸了(仍在寻找罪犯),但现在工作得很好。我真的很感激!!@MarcusHolden不客气!如果这是你要找的,如果你把我的答案标记为接受,我会很感激的。