Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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_String - Fatal编程技术网

javascript上的多行字符串读取不正确

javascript上的多行字符串读取不正确,javascript,string,Javascript,String,我编写了这段代码,其中包含一个具有多行字符串的文件(stringvar),每行包含许多用tab分隔的字段。。 当我试图打印字段时,javascript似乎无法将行和字段>>分开,没有显示任何内容 怎么了 <!DOCTYPE html> <html lang="en"> <head> <meta content="text/html; charset=windows-1252" http-equiv="cont

我编写了这段代码,其中包含一个具有多行字符串的文件(stringvar),每行包含许多用tab分隔的字段。。 当我试图打印字段时,javascript似乎无法将行和字段>>分开,没有显示任何内容

怎么了

     <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta content="text/html; charset=windows-1252" http-equiv="content-type">
        <script src="Scribl.min.js"></script>

        <script> 
        function draw(canvasName) {  
       // Get Canvas and Create Chart
       var canvas = document.getElementById(canvasName);    

       // Create Chart
       chart = new Scribl(canvas, 500);
    var file = '##gff-version 3 \n'+
'scaffold_1_A_acidus_CBS_106_47   AspGD  gene  61571     62909      .  +    .   ID=Aspfo1_0027407;Note=Protein of unknown function\n'+
        'scaffold_1_A_acidus_CBS_106_47 AspGD   mRNA    61571   62909   .   +   .   ID=Aspfo1_0027407-T;Parent=Aspfo1_0027407;Note=Protein of unknown function\n'+
        'scaffold_1_A_acidus_CBS_106_47 AspGD   exon    61571   61698   .   +   .   ID=Aspfo1_0027407-T-E1;Parent=Aspfo1_0027407-T\n'+
        'scaffold_1_A_acidus_CBS_106_47 AspGD   exon    61801   61858   .   +   .   ID=Aspfo1_0027407-T-E2;Parent=Aspfo1_0027407-T\n'+
        'scaffold_1_A_acidus_CBS_106_47 AspGD   exon    62049   62909   .   +   .   ID=Aspfo1_0027407-T-E3;Parent=Aspfo1_0027407-T\n'+
        'scaffold_1_A_acidus_CBS_106_47 AspGD   CDS 61571   61698   .   +   0   ID=Aspfo1_0027407-P;Parent=Aspfo1_0027407-T;parent_feature_type=ORF\n'+
        'scaffold_1_A_acidus_CBS_106_47 AspGD   CDS 61801   61858   .   +   0   ID=Aspfo1_0027407-P;Parent=Aspfo1_0027407-T;parent_feature_type=ORF\n'+
        'scaffold_1_A_acidus_CBS_106_47 AspGD   CDS 62049   62909   .   +   2   ID=Aspfo1_0027407-P;Parent=Aspfo1_0027407-T;parent_feature_type=ORF\n'+
        'scaffold_1_A_acidus_CBS_106_47 AspGD   gene    192322  193023  .   -   .   ID=Aspfo1_0027447;Note=Protein of unknown function\n'+
        'scaffold_1_A_acidus_CBS_106_47 AspGD   mRNA    192322  193023  .   -   .   ID=Aspfo1_0027447-T;Parent=Aspfo1_0027447;Note=Protein of unknown function\n';


    document.getElementById("demo").innerHTML=file;

          //gff3(file,chart);

            var lines = file.split("\n");  // array has the file lines, each lin has a feature >> we can pars each line now to extraxt the needed info
        var features = [];
        var max = undefined;
        var min = undefined;
        var version = undefined;

        // parse genes
        numFeatures = lines.length
        for( var j=0; j < numFeatures; j++ ) {
                if( lines[j] == "" ) break;
                if( lines[j] == "##" ) continue;
                // if it start of ## means extra info that provide meta-information about the document as a whole doc such as version //pragmas or meta-data


                var fields = lines[j].split("   ");//tab-delimited : parsers must split on tabs, not spaces. 
                //Fields are: <seqname/id> <source> <feature/type> <start> <end> <score> <strand> <frame> [attributes] [comments]

                if( fields[2] != "gene" ) continue;
                if (type == "gene"){// it is gene so draw it // else it is exone itron etc

                    var seqid = fields[0];
                    var source = fields[1];
                    var type = fields[2];
                    var start = parseInt(fields[3]);
                    var end = parseInt(fields[4]);
                    var score = fields[5];
                    var strand = fields[6];
                    var phase = fields[7];

                    var attributes = fields[8].split(";");
                    var geneID = attributes[0];
                    var GeneNama = attributes[1];

            chart.addGene( start , end, strand);
                    }

        }

       // Draw Chart
       chart.draw();

       // Create image of chart1
       var img = chart.canvas.toDataURL("image/png");
       // Add link to download image
          //document.getElementById('export').href = img;
    }

           </script>
        </head>

      <body onload="draw('canvas')"> <canvas id="canvas" width="750" height="330"></canvas>
        <p id="demo">hi</p>

      </body>
    </html>

函数绘图(画布名称){
//获取画布并创建图表
var canvas=document.getElementById(canvasName);
//创建图表
图表=新的Scribl(画布,500);
var file='##gff版本3\n'+
'scaffold_1_A_acidus_CBS_106_47 AspGD基因61571 62909.+.ID=Aspfo1_0027407;注意=功能未知的蛋白质\n'+
'scaffold_1_A_acidus_CBS_106_47 AspGD mRNA 61571 62909.+.ID=Aspfo1_0027407-T;父代=Aspfo1_0027407;注释=功能未知的蛋白质\n'+
'scaffold_1_A_acidus_CBS_106_47 AspGD外显子61571 61698.+.ID=Aspfo1_0027407-T-E1;Parent=Aspfo1_0027407-T\n'+
'scaffold_1_A_acidus_CBS_106_47 AspGD外显子61801 61858.+.ID=Aspfo1_0027407-T-E2;Parent=Aspfo1_0027407-T\n'+
'scaffold_1_A_acidus_CBS_106_47 AspGD外显子62049 62909.+.ID=Aspfo1_0027407-T-E3;父代=Aspfo1_0027407-T\n'+
“脚手架”AspGD CDS 61571 61698.+0 ID=Aspfo1\U 0027407-P;父项=Aspfo1\U 0027407-T;父项功能类型=ORF\n+
“脚手架”AspGD CDS 61801 61858.+0 ID=Aspfo1\U 0027407-P;父项=Aspfo1\U 0027407-T;父项特性类型=ORF\n+
“脚手架”AspGD CDS 62049 62909.+2 ID=Aspfo1\U 0027407-P;父项=Aspfo1\U 0027407-T;父项特性类型=ORF\n+
'scaffold_1_A_acidus_CBS_106_47 AspGD基因192322 193023.-.ID=Aspfo1_0027447;注意=功能未知的蛋白质\n'+
'scaffold_1_A_acidus_CBS_106_47 AspGD mRNA 192322 193023.-.ID=Aspfo1_0027447-T;父代=Aspfo1_0027447;注释=功能未知的蛋白质\n';
document.getElementById(“demo”).innerHTML=file;
//gff3(文件、图表);
var lines=file.split(“\n”);//数组有文件行,每个lin都有一个功能>>我们现在可以对每一行进行pars,以附加所需的信息
var特征=[];
var max=未定义;
var min=未定义;
var版本=未定义;
//解析基因
numFeatures=lines.length
对于(var j=0;j

空格折叠。但添加以下CSS:

#演示{空白:预包装}

还有魔法D

这些不是选项卡,但是更改
var字段=行[j]。拆分(“”)
var字段=行[j]。拆分(/\s+/)应该可以做到这一点。

在哪里添加它>>我是javascript世界中的新成员。它通过添加编辑来工作;)我还将数组索引更改为以1开头。。我很惊讶索引0不起作用