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

js id字符串转数组

将一个逗号分隔的字符串(例如 "12,123,213,")转换为一个 JavaScript 数组,并去除多余的逗号,可以使用以下几种方法。这里我将展示几种常见的方式:

方法 1: 使用 splitfilter

你可以使用 split 方法将字符串分割成数组,然后使用 filter 方法去除空字符串。

const str = "12,123,213,";
const ids = str.split(',').filter(id => id !== '');console.log(ids); // 输出: ["12", "123", "213"]
注意,有些场景下需要id类型一致

如果你希望将 facilitatorId 字符串分割后转换为数字 ID,可以使用 map 函数将每个字符串 ID 转换为数字。以下是调整后的代码:

const ids = facilitatorId.split(',').filter(id => id.trim() !== '')  // 去除空字符串.map(id => parseInt(id, 10));     // 转换为整数

这样,ids 数组就包含了一组数字 ID,而不是字符串。如果你需要确保所有 ID 都是有效的整数,可以在 map 函数中添加额外的验证逻辑,例如:

const ids = facilitatorId.split(',').filter(id => id.trim() !== '').map(id => {const numId = parseInt(id, 10);return isNaN(numId) ? null : numId;  // 或者抛出错误}).filter(id => id !== null);  // 过滤掉无效的 ID

方法 2: 使用正则表达式

你可以使用正则表达式来匹配所有的数字,并将它们放入数组中。

const str = "12,123,213,";
const ids = str.match(/\d+/g) || [];console.log(ids); // 输出: ["12", "123", "213"]

方法 3: 使用 trimsplit

你可以先去掉字符串末尾的逗号,然后再使用 split 方法。

const str = "12,123,213,";
const trimmedStr = str.replace(/,$/, ''); // 去掉末尾的逗号
const ids = trimmedStr.split(',');console.log(ids); // 输出: ["12", "123", "213"]

方法 4: 使用 mapparseInt

如果你想将数组中的字符串转换为数字,可以使用 map 方法结合 parseInt

const str = "12,123,213,";
const ids = str.split(',').filter(id => id !== '').map(Number);console.log(ids); // 输出: [12, 123, 213]

完整示例

下面是一个完整的示例,展示了如何将字符串转换为数组,并将数组中的字符串转换为数字。

const str = "12,123,213,";// 方法 1: 使用 split 和 filter
const ids1 = str.split(',').filter(id => id !== '');
console.log("方法 1:", ids1); // 输出: ["12", "123", "213"]// 方法 2: 使用正则表达式
const ids2 = str.match(/\d+/g) || [];
console.log("方法 2:", ids2); // 输出: ["12", "123", "213"]// 方法 3: 使用 trim 和 split
const trimmedStr = str.replace(/,$/, '');
const ids3 = trimmedStr.split(',');
console.log("方法 3:", ids3); // 输出: ["12", "123", "213"]// 方法 4: 使用 map 和 parseInt
const ids4 = str.split(',').filter(id => id !== '').map(Number);
console.log("方法 4:", ids4); // 输出: [12, 123, 213]

选择合适的方法

  • 方法 1:简单直观,适用于大多数情况。
  • 方法 2:使用正则表达式,简洁但可能稍微难懂一些。
  • 方法 3:去除末尾逗号后再分割,适用于末尾有逗号的情况。
  • 方法 4:转换为数字,适用于需要数字数组的情况。

相关文章:

js id字符串转数组

将一个逗号分隔的字符串(例如 "12,123,213,")转换为一个 JavaScript 数组,并去除多余的逗号,可以使用以下几种方法。这里我将展示几种常见的方式: 方法 1: 使用 split 和 filter 你可以使用 split 方法将字…...

《手写Spring渐进式源码实践》实践笔记(第十八章 JDBC功能整合)

文章目录 第十八章 JDBC功能整合背景技术背景JDBC JdbcTemplate关键特性 用法示例业务背景 目标设计实现代码结构类图实现步骤 测试事先准备属性配置文件测试用例测试结果: 总结 第十八章 JDBC功能整合 背景 技术背景 JDBC JDBC(Java Database Conne…...

边缘计算在智能交通系统中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 边缘计算在智能交通系统中的应用 边缘计算在智能交通系统中的应用 边缘计算在智能交通系统中的应用 引言 边缘计算概述 定义与原…...

HTML5+css3(浮动,浮动的相关属性,float,解决浮动的塌陷问题,clear,overflow,给父亲盒子加高度,伪元素)

浮动的相关属性 以下使浮动的常用属性值: float: 设置浮动 以下属性: left : 设置左浮动 right : 设置右浮动 none :不浮动,默认值clear 清除浮动 清除前面兄弟元素浮动元素的响应 以下属性: left &…...

【C++ 滑动窗口】2134. 最少交换次数来组合所有的 1 II

本文涉及的基础知识点 C算法:滑动窗口及双指针总结 LeetCode2134. 最少交换次数来组合所有的 1 II 交换 定义为选中一个数组中的两个 互不相同 的位置并交换二者的值。 环形 数组是一个数组,可以认为 第一个 元素和 最后一个 元素 相邻 。 给你一个 二…...

使用 PyTorch 实现并测试 AlexNet 模型,并使用 TensorRT 进行推理加速

本篇文章详细介绍了如何使用 PyTorch 实现经典卷积神经网络 AlexNet,并利用 Fashion-MNIST 数据集进行训练与测试。在训练完成后,通过 TensorRT 进行推理加速,以提升模型的推理效率。 本文全部代码链接:全部代码下载 环境配置 为了保证代码在 GPU 环境下顺利运行,我们将…...

Python 数据可视化详解教程

Python 数据可视化详解教程 数据可视化是数据分析中不可或缺的一部分,它通过图形化的方式展示数据,帮助我们更直观地理解和分析数据。Python 作为一种强大的编程语言,拥有丰富的数据可视化库,如 Matplotlib、Seaborn、Plotly 和 …...

springboot集成opencv开源计算机视觉库

最近项目需要用到opencv,网上看到很多资料都是下载安装并且引入jar包与dll文件,感觉很麻烦,不是我想要的,于是花时间折腾了下,不需要任何安装与引入jar包与dll文件,简单方便,快速上手。 先说说…...

CCF ChinaOSC |「开源科学计算与系统建模openSCS专题分论坛」11月9日与您相约深圳

2024年11月9日至10日,以“湾区聚力 开源启智”为主题的2024年中国计算机学会中国开源大会(CCF ChinaOSC)将在深圳召开。大会将汇聚国内外学术界、顶尖科技企业、科研机构及开源社区的精英力量,共同探索人工智能技术和人类智慧的无…...

2024年11月8日上海帆软用户大会

2024年11月8日上海帆软用户大会 2024年11月8日,上海成功举办了帆软用户大会,主题为“数字聚力,绽放新机”。大会汇聚了众多行业专家和企业代表,共同探讨数字化转型和商业智能领域的最新趋势和实践。 大会亮点: 专家…...

信息泄露漏洞一文速通

文章目录 信息泄露漏洞一文速通敏感信息の概念敏感信息の分类企业敏感信息用户敏感信息站点敏感信息 如何挖掘信息泄露漏洞?信息泄露风险清单(checklist)未授权访问类文件与数据泄露开发与调试信息泄露公共配置文件泄露其他敏感信息泄露点 威…...

Android 启动时应用的安装解析过程《二》

上一篇内容说到InitAppsHelper这个类的initSystemApps函数,只说了一下几个重要参数的来源还没展开,这里继续,有兴趣的可以看链接: Android 启动时应用的安装解析过程《一》 一、系统应用的扫描安装 /*** Install apps from system dirs.*/Gu…...

智谱AI:ChatGLM强大的生成式语言模型

目录 智谱AI:ChatGLM强大的生成式语言模型 一、ChatGLM的定义与特点 二、ChatGLM的应用场景 三、举例说明 四、注意事项 智谱AI:ChatGLM强大的生成式语言模型 它通过对话的方式能够生成自然流畅的文本,这一特性使其在多个领域都有广泛的应用潜力,特别是在智能对话和智能…...

git tag

已经发布了 v1.0 v2.0 v3.0 三个版本,这个时候,我突然想不改现有代码的前提下,在 v2.0 的基础上加个新功能,作为 v4.0 发布。就可以检出 v2.0 的代码作为一个 branch ,然后作为开发分支。 要查看仓库中的所有标签 gi…...

Golang--反射

1、概念 反射可以做什么? 反射可以在运行时动态获取变量的各种信息,比如变量的类型,类别等信息如果是结构体变量,还可以获取到结构体本身的信息(包括结构体的字段、方法)通过反射,可以修改变量的值,可以调用关联的方法…...

ABAP:SET CURSOR FIELD设置鼠标焦点

SET CURSOR FIELD <字段名>&#xff1a;设置鼠标焦点到该字段 SET CURSOR 设置到鼠标焦点列还是行 SET CURSOR LINE 设置鼠标焦点到行 GET CURSOR field <字段名> &#xff1a;这个相对应的获取鼠标焦点得到的字段...

【专题】2024年全球生物医药交易报告汇总PDF洞察(附原数据表)

原文链接&#xff1a;https://tecdat.cn/?p38191 在当今复杂多变的全球经济环境下&#xff0c;医药行业正面临着诸多挑战与机遇。2024 年&#xff0c;医药行业的发展态势备受关注。 一方面&#xff0c;全球生物医药交易活跃&#xff0c;2021 - 2023 年的交易中&#xff0c;已…...

LabVIEW气体检测系统

随着工业化进程的加速&#xff0c;环境污染问题愈加严峻&#xff0c;尤其是有害气体的排放对人类生存环境构成了严重威胁。为了更好地监测这些有害气体&#xff0c;开发一个高效、准确且易于操作的气体检测系统显得尤为重要。LabVIEW软件开发的气体检测系统&#xff0c;采用激光…...

LeetCode78. 子集(2024秋季每日一题 58)

给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的 子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[],[1],[2],[1,2],[3…...

推荐一款功能强大的视频修复软件:Apeaksoft Video Fixer

Apeaksoft Video Fixer是一款功能强大的视频修复软件&#xff0c;专门用于修复损坏、不可播放、卡顿、画面失真、黑屏等视频问题。只需提供一个准确且有效的样本视频作为参考&#xff0c;该软件就能将受损视频修复到与样本视频相同的质量。该软件目前支持MP4、MOV、3GP等格式的…...

改进极限学习机的电池健康状态估计(WOA-ELM)附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。 &#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &…...

FontForge:从零到一的免费字体设计全攻略

FontForge&#xff1a;从零到一的免费字体设计全攻略 【免费下载链接】fontforge Free (libre) font editor for Windows, Mac OS X and GNULinux 项目地址: https://gitcode.com/gh_mirrors/fo/fontforge 你是否曾经想过亲手设计一款属于自己的字体&#xff1f;也许你为…...

如何快速掌握NCBI基因组批量下载:面向生物信息学新手的完整实战指南

如何快速掌握NCBI基因组批量下载&#xff1a;面向生物信息学新手的完整实战指南 【免费下载链接】ncbi-genome-download Scripts to download genomes from the NCBI FTP servers 项目地址: https://gitcode.com/gh_mirrors/nc/ncbi-genome-download NCBI基因组数据批量…...

巷道管道安装机器人紧固装配控制【附仿真】

✨ 长期致力于六轴机械臂、运动学建模、轨迹规划、柔顺控制、六维力/力矩传感器研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;六自由度机械臂运动学…...

推理服务为什么一做对话状态复用就开始省 Token 却更容易答偏:从 Decoder State Reuse 到 Constraint Replay 的工程实战

一、状态复用一上线&#xff0c;省下 Token 却先丢了约束 很多团队把多轮对话做成“首轮完整 prefill&#xff0c;后续直接复用 decoder state”。&#x1f4c9; 账面收益很好&#xff1a;TTFT 下降&#xff0c;输入 token 费用也明显收缩。但线上很快出现另一类故障&#xff1…...

终极指南:如何用Chrome Markdown阅读器完美阅读本地Markdown文件

终极指南&#xff1a;如何用Chrome Markdown阅读器完美阅读本地Markdown文件 【免费下载链接】markdownReader markdownReader is a extention for chrome, used for reading markdown file. 项目地址: https://gitcode.com/gh_mirrors/ma/markdownReader 你是否曾经在C…...

BLE AT指令实战:从GAP广播到GATT服务构建的嵌入式蓝牙开发指南

1. 项目概述与BLE AT指令核心价值如果你正在捣鼓物联网设备、可穿戴硬件或者任何需要无线连接的嵌入式项目&#xff0c;蓝牙低功耗&#xff08;BLE&#xff09;技术大概率是你绕不开的一环。它功耗低、连接快&#xff0c;非常适合那些需要长时间运行、间歇性传输少量数据的场景…...

ADC选型新思路:从抗混叠架构革新到极致集成设计

1. 从“采样”到“混叠”&#xff1a;一个老问题的现代解法做信号链设计&#xff0c;ADC选型永远是绕不开的核心。这些年&#xff0c;从工业物联网的传感器节点到汽车雷达的信号处理板&#xff0c;我经手过不少项目&#xff0c;一个深刻的体会是&#xff1a;系统性能的瓶颈&…...

AutoHotkey V2扩展库:解决Windows自动化开发痛点的完整解决方案

AutoHotkey V2扩展库&#xff1a;解决Windows自动化开发痛点的完整解决方案 【免费下载链接】ahk2_lib 项目地址: https://gitcode.com/gh_mirrors/ah/ahk2_lib AutoHotkey V2扩展库ahk2_lib为Windows自动化开发提供了从简单脚本到专业应用的完整技术栈&#xff0c;通过…...

淘金币自动化脚本终极指南:如何每天5分钟完成淘宝全任务,节省20分钟宝贵时间

淘金币自动化脚本终极指南&#xff1a;如何每天5分钟完成淘宝全任务&#xff0c;节省20分钟宝贵时间 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本&#xff0c;包含蚂蚁森林收取能量&#xff0c;芭芭农场全任务&#xff0c;解放你的双手 项目地址: https://gitcode.com/…...