当前位置: 首页 > article >正文

js相同字符串截取拼接

原数据
const list = [
	'999-1234567801',
    '999-1234567802',
	'999-1234567803',
];
const list1 = [
	'999-1234567899',
    '999-1234567900',
	'999-1234567901',
];
期望数据
'999-1234567801/2/3' //list
'999-1234567899/900/901' //list1
处理代码
// 连续号码处理
export const formatNumber = (ticketNo: string[]): string => {
  let point = 0;
  let isTheSame = true;
  const baseStr = ticketNo[0] || '';
  for (let i = 0; i < baseStr.length; i++) {
    const str = baseStr[point];
    isTheSame = !ticketNo.some((t) => t[point] !== str);
    if (isTheSame) {
      point++;
    } else {
      break;
    }
  }
  if (point === baseStr.length) {
    return baseStr;
  } else {
    let msg = '';
    ticketNo.map((t, index) => {
      if (index === 0) {
        msg = t;
      } else {
        msg = msg + `/${t?.substring(point, t?.length)}`;
      }
    });
    return msg;
  }
};

在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/149189.html

相关文章:

  • 论文 | The Capacity for Moral Self-Correction in LargeLanguage Models
  • css中的变量使用
  • vue2使用 <component> 标签动态渲染不同的表单组件
  • 批量从Excel某一列中找到符合要求的值并提取其对应数据
  • 用友U8-Cloud uapbd.refdef.query sql注入漏洞复现
  • Dolby TrueHD和Dolby Digital Plus (E-AC-3)编码介绍
  • 牛客剑指offer刷题位运算篇
  • 八股文-如何理解Java中的多态
  • 管理后台系统,springboot+redis+nginx+html+bootstrap
  • UE5 中的computer shader使用
  • C++ 背包理论基础01 + 滚动数组
  • 【MySql】14- 实践篇(十二)-grant权限/分区表/自增Id用完怎么办
  • HassOS使用nmcli设置静态IPv4地址及网关、DNS
  • 对支付宝进行测试用例分析
  • .sketch的文件转.psd文件
  • Linux僵死进程及文件操作
  • 【ARM CoreLink 系列 8 -- SMMU 详细介绍-上半部】
  • 《微信小程序开发从入门到实战》学习三十六
  • springboot实战之stream API应用过滤不符合条件的数据
  • MySQL巧用公用表表达式(CTE)处理递归查询
  • 想学计算机视觉入门的可以看过来了
  • 牛客算法题 HJ100 等差数列 golang语言实现
  • QT配合CSS隐藏按钮
  • Springboot_文件下载功能(前端后端)
  • Kotlin学习——kt入门合集博客 kt里的委派模式Delegation kt里的特性
  • 基于C#实现Dijkstra算法