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

Vanilla JS循环中如何格式化过滤后的字符串并返回目标格式值?

实现方案

你可以直接在现有提取路径后缀的逻辑中新增格式转换步骤,无需二次遍历数组,Vanilla JS 实现如下:

方案1:改造原有reduce逻辑(推荐)

const result = links.reduce((acc, {href: link}) => {
  const last = link.split('/').pop();
  if (!(last == Number(last))) {
    // 两步转换:先把横杠替换为空格,再将首字母转为大写
    const formattedStr = last
      .replace(/-/g, ' ') // 兼容所有浏览器的横杠替换写法,不需要ES2021支持
      .replace(/^./, firstChar => firstChar.toUpperCase());
    acc.push(formattedStr);
  }
  return acc;
}, []);

方案2:对已有结果数组做转换

如果你已经拿到了["user-data", "customer-data", "suppliers-sup"]这个中间结果,可以直接用map批量转换:

const rawResult = ["user-data", "customer-data", "suppliers-sup"];
const formattedResult = rawResult.map(item => 
  item.replace(/-/g, ' ').replace(/^./, c => c.toUpperCase())
);

两种方案最终输出的都是你需要的格式:

[
  "User data",
  "Customer data",
  "Suppliers sup"
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:39:03