按空白字符截断字符串

JavaScriptJavaScriptBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,我们将探讨在 JavaScript 中按空白字符截断字符串的概念。我们将学习如何在尊重空白字符的同时限制字符串的长度,以保持其可读性。通过实现 String.prototype.slice()String.prototype.lastIndexOf(),我们将创建一个函数,该函数可以将字符串截断为指定长度,并可选择添加结尾。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("`JavaScript`")) -.-> javascript/BasicConceptsGroup(["`Basic Concepts`"]) javascript/BasicConceptsGroup -.-> javascript/variables("`Variables`") javascript/BasicConceptsGroup -.-> javascript/data_types("`Data Types`") javascript/BasicConceptsGroup -.-> javascript/arith_ops("`Arithmetic Operators`") javascript/BasicConceptsGroup -.-> javascript/comp_ops("`Comparison Operators`") javascript/BasicConceptsGroup -.-> javascript/cond_stmts("`Conditional Statements`") subgraph Lab Skills javascript/variables -.-> lab-28670{{"`按空白字符截断字符串`"}} javascript/data_types -.-> lab-28670{{"`按空白字符截断字符串`"}} javascript/arith_ops -.-> lab-28670{{"`按空白字符截断字符串`"}} javascript/comp_ops -.-> lab-28670{{"`按空白字符截断字符串`"}} javascript/cond_stmts -.-> lab-28670{{"`按空白字符截断字符串`"}} end

如何在 JavaScript 中按空白字符截断字符串

要进行编码练习,请打开终端/SSH 并输入 node

以下是一个函数,它会在尽可能尊重空白字符的情况下,将字符串截断到指定长度:

const truncateStringAtWhitespace = (str, lim, ending = "...") => {
  if (str.length <= lim) return str;
  const lastSpace = str.slice(0, lim - ending.length + 1).lastIndexOf(" ");
  return str.slice(0, lastSpace > 0 ? lastSpace : lim - ending.length) + ending;
};

要使用此函数,请将你想要截断的字符串作为第一个参数传入,将最大长度作为第二个参数传入,并将一个可选的结尾字符串作为第三个参数传入。如果字符串的长度小于或等于指定的限制,则返回原始字符串。否则,该函数将在限制之前找到最后一个空格,并在该位置截断字符串,如果指定了结尾字符串,则添加结尾字符串。

以下是一些示例:

truncateStringAtWhitespace("short", 10); // 'short'
truncateStringAtWhitespace("not so short", 10); // 'not so...'
truncateStringAtWhitespace("trying a thing", 10); // 'trying...'
truncateStringAtWhitespace("javascripting", 10); // 'javascr...'

总结

恭喜你!你已经完成了“按空白字符截断字符串”实验。你可以在 LabEx 中练习更多实验来提升你的技能。

您可能感兴趣的其他 JavaScript 教程