Javascript 为什么不是';下面的省略号/截断函数是否将字符串剪切为相同长度?
我正在使用此函数以一定长度剪切字符串,并在末尾添加Javascript 为什么不是';下面的省略号/截断函数是否将字符串剪切为相同长度?,javascript,Javascript,我正在使用此函数以一定长度剪切字符串,并在末尾添加…: ellipsis (string, threshold) { if (string.length > threshold) return string.substring(0, threshold) + '...' else return string }, 用法:省略号(string,35) 示例字符串: 12345678901234567890123456789012345678901234567890123456789
…
:
ellipsis (string, threshold) {
if (string.length > threshold) return string.substring(0, threshold) + '...'
else return string
},
用法:省略号(string,35)
示例字符串:
123456789012345678901234567890123456789012345678901234567890
4567896 7890456 8904567
89456789456789456789456789456789456789456789456789456789456789
结果:
12345678901234567890123456789012...
4567896 7890456 8904567
894567...
正如您所看到的,第二个字符串最后变短了
如何修改此省略号函数,使两个字符串即使有空格和新行,也具有相同的长度
编辑:
原件:45678904568904567
89456789456789456789456789456789456789456789456789456789456789456789456789
替换:45678904568904567
89456789456789456789456789456789456789456789456789456789456789456789456789
我发现Dom字符串变量没有中断。请尝试使用
replace()
新行
函数省略号(字符串,阈值){
如果(string.length>阈值){
return(string.substring(0,阈值)+'…')。replace(/\\n/g')。trim()
}否则{
返回字符串
}
}
变量string1='123456789001234567890123456789012345678901234567890123456789012345678901234567890';
控制台日志(省略号(string1,35))
var string2='45678904568904567 8945678456789456756789456756789456756789456756789456756789456756789456756789';
log(省略号(string2,35))
正如我所看到的,第二个字符串得到了一个新行,并切入这一行。这是真的吗?@lvaroTouzón是的,你是对的。因此,考虑到新行,省略号做得很好。另一件事是在省略号之前删除新行,这就是您想要的?我认为.replace
部分没有修改字符串。请查看我的编辑您是从哪里得到这样的..在您的控制台中。日志
或html元素
提供一些工作级别的代码是的,我在控制台日志中得到了它。您只需展开控制台。日志框查看我更新的答案图像