截断字符串JavaScript

Mar*_*man 1 javascript string

我的任务是"截断一个字符串(第一个参数),如果它超过给定的最大字符串长度(第二个参数).返回带有...结尾的截断字符串.

请注意,将三个点插入末尾将增加字符串长度.

但是,如果给定的最大字符串长度num小于或等于3,则在确定截断的字符串时,添加三个点不会增加字符串长度."

我写了代码:

function truncateString(str, num) {
  if (num > str.length){
    str.slice(num);
    return str.append("...");
  } 
  else if (num < 3) {
    str.slice(3);
    return str.append("...");
  }
  else {
    return "This is not a string";
  }

}

truncateString("A-tisket a-tasket A green and yellow basket", 11);
Run Code Online (Sandbox Code Playgroud)

但是,它没有做我需要它做的事情并且在每次运行时返回"这不是一个字符串".谁能帮我?

Ori*_*iol 7

我建议使用而不是...,因为它是一个单一的字符.

然后,

function truncate(str, max) {
  return str.length > max ? str.substr(0, max-1) + '…' : str;
}
Run Code Online (Sandbox Code Playgroud)

注意str.substr(0, -1)返回空字符串.