尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

数组去重(JS)

数组去重(JS)
📅 发布时间:2026/6/18 19:06:49
输入:[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]。

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

相关新闻

  • 大专市场营销专业可考取的实用证书
  • NPM2100 超低功耗模式
  • (100分)- ABR 车路协同场景(Java JS Python)

最新新闻

  • pandas多维聚合实战:工业级数据处理的5大核心范式
  • 郑州不想装成“网红风”千篇一律?这几家凭原创设计上榜 - GrowthUME
  • 2026海口包包回收价格差距大,内行教你看懂行情 - 奢品小当家
  • 2026成都黄金出手干货:实时金价参考、称重核验、无损检测全教程 - 奢侈品回收评测
  • 163MusicLyrics:网易云QQ音乐歌词快速获取完整解决方案
  • GitHub Desktop中文汉化终极指南:5分钟快速上手,告别英文界面困扰

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号