Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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_Csv_Google Chrome - Fatal编程技术网

Javascript 额外的报价是从哪里来的,或者为什么会失败?

Javascript 额外的报价是从哪里来的,或者为什么会失败?,javascript,csv,google-chrome,Javascript,Csv,Google Chrome,我对下面显示的代码有一个问题,因为.join()由于额外的引号而无法正常工作(据我所知)。我输入了一个逗号分隔的列表,在.split()之后,我在控制台中为“initial”values数组的每个项添加了额外的引号,如:“User”。但是,如果我像使用“test”一样使用console.log记录该项,它的结果是:“User”。也就是说,我不能对'values[I]=“User”'进行评估,而是必须像在'test2'console.log中那样编写它。通常我会假设.split()是原因,但它的文

我对下面显示的代码有一个问题,因为.join()由于额外的引号而无法正常工作(据我所知)。我输入了一个逗号分隔的列表,在.split()之后,我在控制台中为“initial”values数组的每个项添加了额外的引号,如:“User”。但是,如果我像使用“test”一样使用console.log记录该项,它的结果是:“User”。也就是说,我不能对'values[I]=“User”'进行评估,而是必须像在'test2'console.log中那样编写它。通常我会假设.split()是原因,但它的文档说明它不会更改原始字符串。说到编程,我还是一个业余爱好者,所以它可能是在盯着我看。尽管如此,就我的一生而言,我仍然无法找出问题的原因。任何帮助都将不胜感激,谢谢

console.log('csv data', csv);
var values = csv.split(',');
console.log('initial', values);
for (var i = 0; i < values.length; i++) {
    console.log('test', values[i]);
    console.log('test2', values[i] == '"User"');
    if (values[i] == '"User"') {
        values.splice(i, 1);
        //fails here. .join below fails to execute properly
        return values.join();
        console.log("values recheck", values);
    }
    console.log('testval', values);
}
console.log('csv data',csv);
var值=csv.split(',');
console.log('initial',值);
对于(变量i=0;i
编辑: 我刚刚意识到您可能需要知道,我正在使用VisualStudio作为IDE和Chrome进行测试。我不确定把这个放在这里是否会有什么不同,但不管怎样,它在这里

EDIT2: 它是被要求的,所以这里有一个CSV数据的例子,它的格式与我正在使用的类似:

蛋糕、蛋白酥皮、饼干、布丁、松露
巧克力,柠檬,燕麦粥,香蕉,巧克力

小编辑:我更改了上面的示例,通过删除列表项中的引号,使其与正确的csv格式保持一致。另外,为了避免任何疑问,不,我的实际数据在列表项周围没有引号

EDIT3: 为清楚起见,以下是不带任何console.log的代码:

var values = csv.split(',');

for (var i = 0; i < values.length; i++) {
    if (values[i] == '"User"') {
        values.splice(i, 1);
        //fails here. .join below fails to execute properly
        return values.join();
    }
}
var values=csv.split(',');
对于(变量i=0;i
CSV格式比这更复杂,值可以包含逗号和引号。我强烈建议您使用专用的CSV库。虽然这可能是真的,但在这种情况下,我可以保证我的CSV输入中的每个值都是没有任何修饰的单词或数字。CSV数据是什么,不知道很难帮助您。抱歉,但CSV数据不是我愿意共享的。但是,我会把一个模型放在一起,并在编辑中发布。只有当您的问题是关于Visual Studio时,才应该使用Visual Studio标记。有关更多信息,请阅读标记说明。