【问题标题】:What special meaning has a hyphen in a javascript string?javascript字符串中的连字符有什么特殊含义?
【发布时间】:2023-11-04 08:48:01
【问题描述】:

我正在处理一些事情,我正在尝试截断包含连字符作为最后一个字符的字符串。

str = "A-";
newstr = str.slice(0,1);

它应该返回“A”,但它却返回“A-”。

这是一个有效的fiddle

您可以更新 tekst 和字符串的长度,但是对于字符串“A-”和长度 1,它会不断返回“A-”

【问题讨论】:

  • 你应该在小提琴中返回newStrslice 不会更改原始字符串本身,因为字符串在 JavaScript 中是不可变的。

标签: javascript string truncate


【解决方案1】:

当你的长度 if 条件不满足时,你需要一个 else 条件来将 newStr 分配给 str。看看我在哪里标记了 //new line

function truncate(str, num) {
  var numsub;
  var newStr;
  if(num >= 3 && str.length > 3 && str.length > num)
    numsub = num - 3;
  else
    numsub = num;

  newStr = str.slice(0, numsub).trim();

  if(str.length > 3 && str.length > num + 1)
    str = newStr + "...";
  else           //new line
    str= newStr; //new line
  return str;
}
 document.write(truncate("A-", 1));

工作小提琴https://jsfiddle.net/hj7xg5st/6/

【讨论】:

  • 嘿@Eric Philips 是的,我自己也想通了。我犯了一个愚蠢的新手错误
最近更新 更多