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

如何用原生JavaScript移除数组中的数字项,仅保留字符串类型结果

代码调整方案

你当前拿到的结果包含数字,核心原因是链接列表中本身存在https://api/v1/3这类仅到数字层级的链接,之前的写法直接提取所有链接的路径最后一段,就会把这类链接的数字段也一同输出。你可以按以下两种方案调整:

方案1:提取后过滤纯数字项

这种写法改动最小,直接在现有逻辑后加过滤规则,排除纯数字的结果即可:

const result = obj.links
  .map((o) => o.href.split("/").pop())
  // 过滤所有仅由数字组成的项
  .filter(item => !/^\d+$/.test(item));

方案2:按路径层级精准提取(更稳妥)

如果你担心后续路径中可能出现合法的数字命名参数被误删,可以先解析路径层级,只提取数字段之后存在内容的链接的最后一段:

const result = obj.links.map(o => {
  // 先解析URL获取标准路径,分割为非空的路径段数组
  const pathSegments = new URL(o.href).pathname.split('/').filter(Boolean);
  // 路径段格式固定为 [v版本号, 数字位, 资源名],长度大于2才说明有资源名
  return pathSegments.length > 2 ? pathSegments.at(-1) : null;
// 过滤掉空值(也就是仅到数字位的链接对应的返回值)
}).filter(Boolean);

两种方案最终输出的结果都是['user', 'customer', 'suppliers'],符合预期。

内容的提问来源于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:27:02