javascript - chop 字符串 JavaScript

标签 javascript string

我的任务是“chop 一个字符串(第一个参数),如果它比给定的最大字符串长度(第二个参数)长。返回 chop 的字符串,并以...结尾。

请注意,在末尾插入三个点会增加字符串长度。

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

我写了代码:

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);

但是,它没有执行我需要它执行的操作,并且在每次运行时都返回“这不是字符串”。谁能帮我?

最佳答案

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

然后,

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

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

关于javascript - chop 字符串 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36703544/

相关文章:

javascript - Backbone 尝试使用 put 而不是 post

javascript - 我需要什么正则表达式来检查一些非拉丁字符?

Java使用正则表达式替换字符串中第4、5和6个单词

c - 在 char* 中存储不同的结构?

java - 验证数字和句点/小数的字符串

asp.net - 使用 jQuery 使用数据库中的值设置背景颜色

javascript - 为什么父 promise 不会捕获嵌套 promise 的拒绝?

swift - 如何在 Swift 4 中增加 Index.String 类型的变量?

php - 如何在 PHP 中用空字符串替换 ?myuser=number

javascript - jQuery- .css() 不适用于输入