javascript字符串中的连字符有什么特殊含义?

时间:2015-11-25 18:18:50

标签: javascript string truncate

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

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

它应该返回" A",但它返回" A - "代替。

这是一个有效的fiddle

您可以更新tekst和字符串的长度,但使用字符串" A - "和长度1它一直返回" A - "

1 个答案:

答案 0 :(得分:0)

如果不满足条件,则需要else条件将newStr分配给str。看看我在哪里标记了//新行

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/