【发布时间】:2016-06-23 23:42:05
【问题描述】:
我正在上传一个文件,其中包含多个 DNA 序列 ID,后跟它们的 DNA 序列。我希望能够解析文件并将信息存储在一个对象中:
function scanForSequences(event) {
//Get the file from HTML input tag
var file = event.target.files[0];
var output = document.getElementById('table');
var tr = document.createElement('tr');
var td = document.createElement('td');
if(file) {
var sequenceArray = [];
var objArray = [];
var obj = {};
//Create a new file reader
var reader = new FileReader();
//When the file reader loads
reader.onload = function(evt) {
//Add the contents of file to variable contents
var contentsByLine = evt.target.result.split('\n');
//Alert user the file upload has succeeded
alert('File ' + file.name + ' has been uploaded!');
for(var i = 0; i < contentsByLine.length; i++){
if(contentsByLine[i].charAt(i) == '>'){
obj.id = contentsByLine[i];
}else{
sequenceArray.push(contentsByLine[i]);
obj.sequence = sequenceArray;
obj.lead_trim = 0;
obj.trail_trim = 0;
}
objArray.push({obj});
console.log(objArray);
//console.log(sequenceArray[i].length);
}
}
reader.readAsText(file);
} else {
alert('Failed to upload file!');
}
}
问题是只有第一个序列 ID 被识别,其余信息只是被推送到我的序列数组中。谁能帮我找出我的错误?我很感激!
这是文本文件:
>9013e1 ACAAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTGCTCTCCGGGGCCACGGCCACCGCTGCCCTGCC CCTGGAGGGTGGCCCCACCGGCCGAGACAGCGAGCATATGCAGGAAGCGGCAGGAATAAGGAAAAGCAGC CTCCTGACTTTCCTCGCTTGGTGGTTTGAGTGGACCTCCCAGGCCAGTGCCGGGCCCCTCATAGGAGAGG AAGCTCGGGAGGTGGCCAGGCGGCAGGAAGGCGCACCCCCCCAGCAATCCGCGCGCCGGGACAGAATGCC CTGCAGGAACTTCTTCTGGAAGACCTTCTCCTCCTGCAAATAAAACCTCACCCATGAATGCTCACGCAAG TTTAATTACAGACCTGAA
>9042f1 ACAAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTGCTCTCCGGGGCCACGGCCACCGCTGCCCTGCC CCTGGAGGGTGGCCCCACCGGCCGAGACAGCGAGCATATGCAGGAAGCGGCAGGAATAAGGAAAAGCAGC CTCCTGACTTTCCTCGCTTGGTGGTTTGAGTGGACCTCCCAGGCCAGTGCCGGGCCCCTCATAGGAGAGG AAGCTCGGGAGGTGGCCAGGCGGCAGGAAGGCGCACCCCCCCAGCAATCCGCGCGCCGGGACAGAATGCC CTGCAGGAACTTCTTCTGGAAGACCTTCTCCTCCTGCAAATAAAACCTCACCCATGAATGCTCACGCAAG TTTAATTACAGACCTGAA
【问题讨论】:
-
你能提供一些示例输入吗?您似乎在每行的不同位置寻找“>”。
标签: javascript arrays html object