javascript上的多行字符串读取不正确
我编写了这段代码,其中包含一个具有多行字符串的文件(stringvar),每行包含许多用tab分隔的字段。。 当我试图打印字段时,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
<!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不起作用