You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS调用slice截取字符串返回完整内容而非前num个字符怎么解决

问题根因
  • JavaScript 中字符串属于不可变原始类型,所有字符串操作方法都不会修改原字符串,只会返回新的处理后字符串。你写的代码中仅调用了str.slice(0,num),没有接收该方法的返回值,直接返回了未修改的原字符串,因此无法得到截断后的结果。
修复后代码
function truncateString(str, num) {
      if (str.length > num) {
        // 直接返回slice方法生成的截断后新字符串
        return str.slice(0,num)
      } else {
        return str
      }
}

console.log(truncateString("A-tisket a-tasket A green and yellow basket", 8))
// 输出:A-tisket
可选简化写法

可以用三元表达式进一步精简代码逻辑:

const truncateString = (str, num) => str.length > num ? str.slice(0, num) : str

内容的提问来源于stack exchange,提问作者Harvey Johnson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 11:48:03