JS 字符串拼接并去重
1、includes
循环数组将某个字段拼接成新的字符串并去重(数组里面包含的一个对象,或者其他都OK)
// 定义一个数组
let arr=[.......]
// 定义拼接的字符串
let a=''
//循环数组将里面某个字段拼接在一起并去重
arr.forEach(item => {if(!a.includes(item.createUserName)){a = a + item.createUserName + ','}
})// 去除最后拼接的逗号
let b = a.replace(/,$/, "");
2、Set
使用 Set 数据结构来实现 JavaScript 字符串的去重。Set 是一种不允许重复值的集合,可以通过将字符串转换为数组,然后将数组转换为 Set,最后将 Set 转换回数组来去重。
以下是一个示例代码:
function removeDuplicates(str) {// 将字符串转换为数组let arr = str.split('');// 将数组转换为 Setlet uniqueChars = new Set(arr);// 将 Set 转换回数组let result = Array.from(uniqueChars);// 将数组转换回字符串return result.join('');
}let str = 'aabbcc';
let result = removeDuplicates(str);
console.log(result); // 输出 "abc"
可以使用 Set 数据结构来实现字符串去重。Set 是 ES6 中新增的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。或者简写:
let strArr = ['a', 'b', 'b', 'c'];
let uniqueStr = [...new Set(strArr)].join('');
console.log(uniqueStr); // 输出 "abc"
在上面的代码中,首先将字符串转换为数组,然后使用 set 去除重复的字符。最后将 Set 转换回数组,并将数组转换回字符串。或者
function removeDuplicates(str) {let seen = new Set();let result = '';for (let char of str) {if (!seen.has(char)) {seen.add(char);result += char;}}return result;
}// 示例
let str = "aabbcddd";
let noDuplicates = removeDuplicates(str);
console.log(noDuplicates); // 输出 "abcd"
这段代码定义了一个removeDuplicates函数,它接受一个字符串作为参数,然后使用Set数据结构跟踪已经出现过的字符。如果字符尚未出现在Set中,它将被加入到结果字符串中,并加入到Set中。这样,结果字符串中的每个字符都是唯一的。
相关文章:
JS 字符串拼接并去重
1、includes 循环数组将某个字段拼接成新的字符串并去重(数组里面包含的一个对象,或者其他都OK) // 定义一个数组 let arr[.......] // 定义拼接的字符串 let a //循环数组将里面某个字段拼接在一起并去重 arr.forEach(item > {if(!a.in…...
opencv 图像预处理
图像预处理 在计算机视觉和图像处理领域,图像预处理是一个重要的步骤,它能够提高后续处理(如特征提取、目标检测等)的准确性和效率。OpenCV 提供了许多图像预处理的函数和方法,以下是一些常见的图像预处理操作&…...
SAP B1 功能模块字段介绍 - 价格清单(下)
目录 背景 五、业务伙伴的特殊价格 1. 单据逻辑功能 2. 部分字段解释 3. 操作流程 3.1 时间相关 3.2 数量相关 4. 实例 六、复制特殊价格到选择标准 1. 单据逻辑功能 2. 部分字段解释 七、全局更新特殊价格 编辑 1. 单据逻辑功能 2. 部分字段解释 八、价格更…...
传智杯 第六届-复赛-D
题目描述: 小红定义两个字符串同构,当且仅当对于i∈[1,n],b[i]−a[i]i∈[1,n],b[i]-a[i]i∈[1,n],b[i]−a[i]是定值。例如,"bacd"和"edfg"是同构的。 现在小红拿到了一个长度为n的字符串a,她想知道&a…...
Java - 数组实现大顶堆
题目描述 实现思路 要实现一个堆,我们首先要了解堆的概念。 堆是一种完全二叉树,分为大顶堆和小顶堆。 大顶堆:每个节点的值都大于或等于其子节点的值。 小顶堆:每个节点的值都小于或等于其子节点的值。 完全二叉树ÿ…...
ifuse挂载后,在python代码中访问iOS沙盒目录获取app日志
上一次使用pymobiledevice3,在python代码中访问app的沙盒目录并分析业务日志,在使用过程中发现,在获取app日志的时候速度很慢,执行时间很长,需要30-61秒,所以这次尝试使用libimobiledevic和ifuse࿰…...
Windows WSL环境下安装 pytorch +ROCM 支持AMD显卡
官方文档:Install PyTorch for ROCm — Use ROCm on Radeon GPUs 一、操作系统及驱动 windows 下安装WSL 环境( windows subsystem for Linux), 安装ubuntu 22.04环境。 安装 rocm 软件包: sudo apt update wget https://repo.radeon.com/amdgpu-insta…...
uniapp中skymap.html(8100端口)提示未登录的排查与解决方法
问题: 目前账号已经登录,uniapp的其他端口均可以访问到数据,唯独skymap.html中的8100会提示未登录。(8100是后端网关gateway端口) 分析: 在 skymap.html 中遇到未登录提示的问题,通常是由于该…...
训练模型时梯度出现NAN或者INF(禁用amp的不同level)
判断参数梯度位nan或inf的代码: for name, param in model.named_parameters():if param.grad is not None:if torch.isnan(param.grad).any() or torch.isinf(param.grad).any():print(f"grad layer [{name}] is NaN or Inf") 首先来说可能得原因&…...
Maven核心概念
一、项目对象模型(POM) 1. 定义 POM(Project Object Model)是 Maven 项目的核心配置文件,它以 XML 格式描述了项目的基本信息、项目依赖、构建配置等。可以说,POM 是 Maven 理解和处理项目的基础。 2. 基…...
Sonatype Nexus 部署手册
文章目录 一、前言二、软件环境2.1 版本变更:2.1.1 变更存储的原因2.2.2 H2作为存储的注意点 三、资源配置四、开始部署4.1 部署jdk174.2 离线部署nexus4.2.1 下载4.2.2 部署1. 上传到服务器2. 解压3. 添加用户4. 修改启动参数5. 迁移sonatype-work ,并授…...
TLV320AIC3104IRHBR 数据手册 一款低功耗立体声音频编解码器 立体声耳机放大器芯片麦克风
TLV320AIC3104 是一款低功耗立体声音频编解码器,具有立体声耳机放大器以及在单端或全差分配置下可编程的多个输入和输出。该器件包括基于寄存器的全面电源控制,可实现立体声 48kHz DAC 回放,在 3.3V 模拟电源电压下的功耗低至 14mW࿰…...
(8)结构体、共用体和枚举类型数据
1. 结构体、共用体的定义及区别,typedef 定义别名 结构体的定义 结构体是一种用户自定义的数据类型,它可以将不同类型的数据组合在一起。例如,定义一个表示学生信息的结构体: // 定义结构体类型 struct Student struct Student {char name[20];int age;float score; };共…...
Jedis操作和springboot整合redis
Jedis-springboot整合redis Jedis 引入jedis依赖 注意事项 测试相关数据类型 Key String List set hash zset 案例 spring boot整合redis 引入相关依赖 在application.properties中配置redis 配置 创建redis配置类 创建测试类 Jedis 引入jedis依赖 <depen…...
基于AI大模型的复杂扫描件PDF信息提取与规整
前言 场景大致是会上传一个几十页的扫描件PDF,让AI在当中找出我需要的字段,本文会隐去具体行业信息和具体的AI提示词内容,只分享技术相关内容,请见谅。 AI模型选择 针对我们行业的使用场景,我主要测试了GPT、Claude以…...
为什么https先非对称加密,然后对称加密?
HTTPS之所以先使用非对称加密,然后在对称加密,主要是基于两者在加密效率与安全性方面的特性考虑。 首先,非对称加密具有极高的安全性,因为它使用了公钥和私钥这一对密钥。公钥是公开的,任何人都可以使用它来加密数据&…...
【Coroutines】Full Understanding of Kotlinx.Corutines Framework
文章目录 What is CorutinesDifference between Corutine and ThreadFast UsageSuspend FunctionAdvanced Usage of CoroutineCoroutine EssentialsCoroutineContextCoroutineScopePredefined CoroutineScopePredefined DispatchersPredefined CoroutineStartJobCreate a Corou…...
Python面向对象,实现图片处理案例,支持:高斯模糊、Canny边缘检测、反转边缘图像、生成手绘效果、调亮度......等等
实验图片如下: 命名为img1.jpg, 放在项目下新建文件夹images下 项目构造如下: app.py源码如下 import cv2 import os from matplotlib import pyplot as plt import numpy as npclass ImageProcessor:def __init__(self, image_path):self.image cv…...
SOLID - 依赖倒置原则(Dependency Inversion Principle)
SOLID - 依赖倒置原则(Dependency Inversion Principle) 定义 依赖倒置原则(Dependency Inversion Principle,DIP)是面向对象设计中的五大基本原则之一,通常缩写为SOLID中的D。DIP由Robert C. Martin提出&…...
【.NET 8 实战--孢子记账--从单体到微服务】--需求拆分与规划
在上一篇文章中我们收集了需求,并对需求进行了简单的分析和规划,但是对于开发人员来说,上一篇文章的需求还不够详细,并且没有形成计划。因此本篇文章将带领大家来拆分需求并规划开发里程碑。 一、详细需求列表 项目组进行了多次…...
ARM SVE架构LD1H指令详解与性能优化
1. ARM SVE架构与LD1H指令概述在Armv8.2架构引入的可扩展向量扩展(Scalable Vector Extension, SVE)彻底改变了传统SIMD指令集的设计理念。与固定128位或256位宽度的NEON指令不同,SVE采用向量长度不可知(Vector Length Agnostic, VLA)编程模型,允许同一套…...
别再死记硬背了!用‘榨汁机’和‘张三的饭量’搞定高数函数定义域(附3类题型解法)
用生活化思维破解高数函数定义域:从榨汁机到张三的饭量 第一次翻开高等数学教材时,那些密密麻麻的函数符号让我头晕目眩。直到有一天,我在厨房榨果汁时突然顿悟——原来函数就像一台榨汁机,而定义域不过是张三在不同状态下的饭量。…...
AI Agent Harness Engineering 的安全与伦理挑战:我们如何控制所创造之物?
AI Agent Harness Engineering 的安全与伦理挑战:我们如何控制所创造之物? 关键词:AI Agent 治理、Harness Engineering、对齐问题、灾难性遗忘、人类反馈强化学习、鲁棒性、责任归属 摘要:当我们把AI从“只会做一件事的工具人”升…...
CANN Triton排序选择算子优化
Sort/Select 算子优化 【免费下载链接】cannbot-skills CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。 项目地址: https://gitcode.com/cann/cannbot-skills 适用于需要迭代选择元素的算子:NMS、…...
基于PSoC 6与BMI160构建嵌入式IMU测试系统:从驱动到上位机全流程
1. 项目概述:从一颗传感器到一个完整的测试系统最近在做一个嵌入式项目,需要用到一款高性能的惯性测量单元(IMU)——博世的BMI160。这颗芯片在消费电子和物联网领域很常见,三轴加速度计加三轴陀螺仪,精度和…...
毕业设计 基于python的答题卡识别评分系统
文章目录 0 简介课题简介什么是机器视觉实现步骤详细设计图片读取canny边缘检测四点变换 划出区域处理选择题区域提取选项轮廓判断选项 读取正确结果 最后 0 简介 今天学长向大家分享一个毕业设计项目 毕业设计 基于python的答题卡识别评分系统 项目运行效果: 毕…...
好书推荐《VirtualLab Fusion入门与进阶实用教程(第二版)》
目 录第一章 VirtualLab Fusion理论基础 1 1.1 几何光学和光线追迹 1 1.2 物理光学和光场追迹 1 1.2.1 统一场追迹 3 1.2.2 第二代场追迹 6 第二章 VirtualLab Fusion安装与更新 10 2.1 VirtualLab 版本说明及系统配置要求 10 2.2 VirtualLab安装与更新 11 2.3 安装过程中可能遇…...
论文查重,重复率高该怎么办?
论文查重高,先别急着想“有没有捷径”。先判断你高到什么程度。10%-20%超线一点:最好处理 这种通常不是“论文废了”,而是局部重复。最常见:文献综述太像参考文献原话理论定义直接搬对策建议全是“加强XX、完善XX、建立XX”方法部…...
AI Agent 艺术创作能力探索
AI Agent 艺术创作能力探索:从生成式工具到自主创作主体的范式跃迁 关键词 AI Agent、生成式艺术、多模态创作、自主创作系统、计算美学、大模型推理、人机协同创作 摘要 本文从第一性原理出发,系统拆解AI Agent艺术创作的底层逻辑、技术架构、实现机制与产业价值。我们将…...
RT-Thread软定时器漂移问题深度解析与实战优化
1. 项目概述:从一次线上告警说起那天下午,系统监控平台突然弹出一连串的告警,核心业务模块的周期性任务执行间隔出现了肉眼可见的抖动,从预期的100毫秒,漂移到了130毫秒甚至更长。排查了一圈硬件、中断和任务调度&…...
