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元素
提供一些工作级别的代码是的,我在控制台日志中得到了它。您只需展开控制台。日志框查看我更新的答案图像