JavaScript使用split函数无法得到预期结果是什么原因?
问题根因
你选错了实现方法:split()的作用是按指定字符把字符串拆成数组,根本不是用来截取前缀的。再加上市你的循环索引起始值是1,第一次循环取到的是字符串的第二个字符,按这个字符切分出来的结果自然和你要的逐位前缀完全对不上。
正确写法
要逐行输出从长度1到完整长度的字符串前缀,直接用slice()方法截取前N位就可以,逻辑非常简单:
// 测试用例 let name = "helloguys"; for (let index = 1; index <= name.length; index++) { // 从索引0开始,截取长度为index的前缀片段 console.log(name.slice(0, index)); }
运行后输出完全符合预期:
h he hel hell hello hellog hellogu helloguy helloguys
如果要测试mynameisprogrammer这个字符串,只需要替换第一行的变量赋值,循环逻辑不需要做任何修改。
内容的提问来源于stack exchange,提问作者Jenish Chanchad
相关产品推荐
相关产品推荐

