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

是否存在C标准库函数的JavaScript移植版本可供使用?

你当前编写的strcspn实现已经完全匹配C语言标准中strcspn的定义,逻辑没有问题,可以直接拷贝使用。

如果不想自己维护这类C标准库字符串函数的JS实现,现有公开的JS端C标准库移植项目大多已经内置了完整的strcspn、strspn、strtok等系列函数实现,导入即可直接调用,不需要自己手动实现。

如果需要处理超长字符串场景,你现有的实现可以做一点性能优化:把第二个参数先转成Set再做存在性判断,减少includes方法的线性遍历开销,优化后的实现如下:

const strcspn = (str, reject) => {
  const rejectSet = new Set(reject);
  for (let i = 0; i < str.length; i++) {
    if (rejectSet.has(str[i])) return i;
  }
  return str.length;
}

这个版本在待排除的字符集合较长的场景下性能提升会非常明显。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:15:04