js id字符串转数组
将一个逗号分隔的字符串(例如 "12,123,213,")转换为一个 JavaScript 数组,并去除多余的逗号,可以使用以下几种方法。这里我将展示几种常见的方式:
方法 1: 使用 split 和 filter
你可以使用 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: 使用 trim 和 split
你可以先去掉字符串末尾的逗号,然后再使用 split 方法。
const str = "12,123,213,";
const trimmedStr = str.replace(/,$/, ''); // 去掉末尾的逗号
const ids = trimmedStr.split(',');console.log(ids); // 输出: ["12", "123", "213"]
方法 4: 使用 map 和 parseInt
如果你想将数组中的字符串转换为数字,可以使用 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 <字段名>:设置鼠标焦点到该字段 SET CURSOR 设置到鼠标焦点列还是行 SET CURSOR LINE 设置鼠标焦点到行 GET CURSOR field <字段名> :这个相对应的获取鼠标焦点得到的字段...
【专题】2024年全球生物医药交易报告汇总PDF洞察(附原数据表)
原文链接:https://tecdat.cn/?p38191 在当今复杂多变的全球经济环境下,医药行业正面临着诸多挑战与机遇。2024 年,医药行业的发展态势备受关注。 一方面,全球生物医药交易活跃,2021 - 2023 年的交易中,已…...
LabVIEW气体检测系统
随着工业化进程的加速,环境污染问题愈加严峻,尤其是有害气体的排放对人类生存环境构成了严重威胁。为了更好地监测这些有害气体,开发一个高效、准确且易于操作的气体检测系统显得尤为重要。LabVIEW软件开发的气体检测系统,采用激光…...
LeetCode78. 子集(2024秋季每日一题 58)
给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的 子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums [1,2,3] 输出:[[],[1],[2],[1,2],[3…...
推荐一款功能强大的视频修复软件:Apeaksoft Video Fixer
Apeaksoft Video Fixer是一款功能强大的视频修复软件,专门用于修复损坏、不可播放、卡顿、画面失真、黑屏等视频问题。只需提供一个准确且有效的样本视频作为参考,该软件就能将受损视频修复到与样本视频相同的质量。该软件目前支持MP4、MOV、3GP等格式的…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
C++中vector类型的介绍和使用
文章目录 一、vector 类型的简介1.1 基本介绍1.2 常见用法示例1.3 常见成员函数简表 二、vector 数据的插入2.1 push_back() —— 在尾部插入一个元素2.2 emplace_back() —— 在尾部“就地”构造对象2.3 insert() —— 在任意位置插入一个或多个元素2.4 emplace() —— 在任意…...
【工具教程】多个条形码识别用条码内容对图片重命名,批量PDF条形码识别后用条码内容批量改名,使用教程及注意事项
一、条形码识别改名使用教程 打开软件并选择处理模式:打开软件后,根据要处理的文件类型,选择 “图片识别模式” 或 “PDF 识别模式”。如果是处理包含条形码的 PDF 文件,就选择 “PDF 识别模式”;若是处理图片文件&…...
