news 2026/6/10 14:35:16

数组去重(JS)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数组去重(JS)
输入:[1,1,1,2,2,3,3,4,5,1];输出:[1,2,3,4,5];输入:[1,1,1];输出:[1];
functionmyUniq(arr){// Create an empty object to keep track of unique elementsconstuniqueElements={};// Iterate through the array and add elements to the objectfor(constelementofarr){uniqueElements[element]=true;}// Create a new array from the object's keys (which are the unique elements)constresultArray=Object.keys(uniqueElements).map(Number);returnresultArray;}module.exports=myUniq;
  • 遍历与记录
for(constelementofarr){uniqueElements[element]=true;}

假设输入是 [1, 2, 1]:

遇到第一个 1:对象变成 { “1”: true }
遇到 2:对象变成 { “1”: true, “2”: true }
遇到第二个 1:对象依然是 { “1”: true, “2”: true }(重复的键被覆盖了)

  • 类型转换
constresultArray=Object.keys(uniqueElements).map(Number);
  • Object.keys(uniqueElements): 这个方法会提取对象中所有的键名,返回一个字符串数组,
    例如 [“1”, “2”]。
  • .map(Number): 因为对象的键名永远是字符串,而题目要求处理的是数字数组,所以需要通过 .map(Number) 将字符串 [“1”, “2”] 转回数字 [1, 2]。

这种方法的逻辑是:“先把数字存成对象的标签(自动去重),再把标签撕下来转回数字。”

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:24:27

达梦数据库安装

好的,这是一篇关于达梦数据库(DM Database)安装的详细指南,包含目录、文字说明和图片位置示意,内容丰富,力求达到3000字的要求。达梦数据库安装与配置详细指南目录引言1.1 达梦数据库简介1.2 安装前准备的重…

作者头像 李华
网站建设 2026/6/9 12:19:00

非线性最优化问题求解器Ipopt介绍

文章目录一、关键输入信息1、优化问题的维度2、优化变量的边界3、优化问题的初始迭代点:4、优化问题的数据结构(Structure):5、优化问题函数的值:二、C Interface1、Ipopt::TNLP::get_nlp_info2、Ipopt::TNLP::get_bounds_info3、Ipopt::TNLP…

作者头像 李华
网站建设 2026/6/10 11:46:00

springboot人事系统(11545)

有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告)远程调试控屏包运行 三、技术介绍 Java…

作者头像 李华
网站建设 2026/6/10 11:10:40

智慧城市与智慧校园之安防暴力检测 校园打架斗殴检测 街边暴力躁动识别 危险物品识别 智能安防 安防领域智能化 数据集第10319期 (1)

暴力检测数据集 本文档为深度学习相关研究与应用开发,提供暴力检测数据集的核心信息说明。数据集核心信息表项目详情类别共 4 类,分别为非暴力(NonViolence)、暴力(Violence)、枪支(guns&#x…

作者头像 李华
网站建设 2026/6/5 14:11:21

别慌!AI淘汰的不是人,是不会用AI的人

别慌!AI淘汰的不是人,是不会用AI的人一、先说说扎心现实:AI 已经在抢工作了,但比你想的更 “挑活”前几天跟做文案的朋友吃饭,他吐槽说现在写活动方案都得跟 AI 抢饭吃 —— 领导让写 3 个电商促销文案,他熬…

作者头像 李华