繁体   English   中英

Javascript程序有问题,不知道为什么log的长度不是10?

[英]Javascript program has something wrong ,I don't know why the length of log is not 10?

Javascript程序有问题,不知道为什么log的长度不是10? 输入 s :

 const s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT" var findRepeatedDnaSequences = function(s) { var set = new Set() var seqSet = new Set() for (let i = 0; i < s.length - 11; i++) { let sub = s.substr(i, i + 10) console.log(sub) if (set.has(sub)) { seqSet.add(sub) } else { set.add(sub) } } return Array.from(set) }; findRepeatedDnaSequences(s)

控制台结果:Javascript程序有问题,不知道为什么log的长度不是10?

AAAAACCCCC
AAAACCCCCAA
AAACCCCCAAAA
AACCCCCAAAAAC
ACCCCCAAAAACCC
CCCCCAAAAACCCCC
CCCCAAAAACCCCCCA
CCCAAAAACCCCCCAAA
CCAAAAACCCCCCAAAAA
CAAAAACCCCCCAAAAAGG
AAAAACCCCCCAAAAAGGGT
AAAACCCCCCAAAAAGGGTTT
AAACCCCCCAAAAAGGGTTT
AACCCCCCAAAAAGGGTTT
ACCCCCCAAAAAGGGTTT
CCCCCCAAAAAGGGTTT
CCCCCAAAAAGGGTTT
CCCCAAAAAGGGTTT
CCCAAAAAGGGTTT
CCAAAAAGGGTTT
CAAAAAGGGTTT

substr需要一个起始偏移量和一个长度 您应该只调用.substr(i, 10)

您提供给substr()的参数适用于substring() 由于不推荐使用substr() ,因此您只需更改为substring()即可获得所需的结果。

 const s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT" var findRepeatedDnaSequences = function(s) { var set = new Set() var seqSet = new Set() for (let i = 0; i < s.length - 11; i++) { let sub = s.substring(i, i + 10) console.log(sub) if (set.has(sub)) { seqSet.add(sub) } else { set.add(sub) } } return Array.from(set) }; findRepeatedDnaSequences(s)

 const s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT" var findRepeatedDnaSequences = function(s) { var set = new Set() var seqSet = new Set() for (let i = 0; i < s.length - 11; i++) { let sub = s.substr(i, 10) console.log(sub) if (set.has(sub)) { seqSet.add(sub) } else { set.add(sub) } } return Array.from(set) }; findRepeatedDnaSequences(s)

在js中有两个功能:
substr():

substr() 方法返回字符串的一部分,从指定的索引开始,然后扩展给定数量的字符。

子串()。

substring() 方法返回开始和结束索引之间的字符串部分,或者返回到字符串的末尾。

您正在使用第一个,从您的问题来看,您期待第二个。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM