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

JavaScript中如何根据单/多组姓名生成对应首字母缩写?

首字母提取逻辑调整方案

需求说明

现有两类姓名数据:

  • 单个人名(无逗号):
    Robert Smith
    David Smith
    James Johnson
    William
    
  • 多组人名(逗号分隔):
    Robert Smith,David Smith
    James Johnson,Robert Smith
    

原代码仅能处理单个人名,生成对应首字母组合(如Robert Smith返回RS);但遇到逗号分隔的多组人名时会返回空值。需要修改代码,让多组人名场景下返回每组人名的首字母组合(如Robert Smith,David Smith返回RD)。

修改后的代码

function getInitials(Name) {
  // 按逗号拆分所有姓名条目
  return Name.split(",").map(nameItem => {
    // 对单个姓名提取首字母组合
    return nameItem.trim().split(" ").map(part => part[0]).reduce((acc, curr) => acc + curr, "")
  }).join("")
}

逻辑解释

  1. 拆分多组姓名:用逗号,把输入字符串拆分成独立的姓名条目
  2. 提取单个姓名首字母:对每个姓名条目,先去除前后空格,再按空格拆分成名字各部分,取每部分的第一个字符后拼接成该姓名的首字母组合
  3. 拼接结果:把所有姓名条目的首字母组合拼接成最终输出

测试验证

  • 输入Robert Smith → 输出RS
  • 输入William → 输出W
  • 输入Robert Smith,David Smith → 输出RD
  • 输入James Johnson,Robert Smith → 输出JS

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 01:36:30