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

数组去重方法

JavaScript数组去重方法

方法一:Set方法(最简洁)

function uniqueArray(arr) {return [...new Set(arr)];// 或者// return Array.from(new Set(arr));
}// 一行代码版本
const unique = arr => [...new Set(arr)];// 示例
const arr = [1, 2, 2, 3, 4, 4, 5];
console.log(uniqueArray(arr)); // [1, 2, 3, 4, 5]

方法二:手写实现

使用indexOf/includes

function uniqueArray(arr) {const result = [];for (let i = 0; i < arr.length; i++) {if (result.indexOf(arr[i]) === -1) {result.push(arr[i]);}}return result;
}// 使用includes(ES6)
function uniqueWithIncludes(arr) {const result = [];for (let i = 0; i < arr.length; i++) {if (!result.includes(arr[i])) {result.push(arr[i]);}}return result;
}

使用对象/Map作为哈希表

function uniqueWithObject(arr) {const obj = {};const result = [];for (let i = 0; i < arr.length; i++) {const item = arr[i];const type = typeof item;// 处理对象属性名会自动转为字符串的问题if (!obj[item] || (type === 'object

相关文章:

  • ROS2学习笔记|创建工作空间并打印文件内容
  • 2025年最新嵌入式开发STM32单片机详细教程(更新中)
  • Linux 进程间通信(IPC)详解
  • thonny提示自动补全功能
  • 【AI面试准备】NLP解析API文档生成测试脚本
  • AWS在跨境电商中的全场景实践与未来生态构建
  • GoFrame 奉孝学习笔记
  • PyTorch_指定运算设备 (包含安装 GPU 的 PyTorch)
  • HybridCLR 详解:Unity 全平台原生 C# 热更新方案
  • 【言语理解】中心理解题目之结构分析
  • 安卓基础(MediaProjection)
  • 基于Springboot旅游网站系统【附源码】
  • rails 8 CSS不起效问题解决
  • 华为云Flexus+DeepSeek征文|DeepSeek-V3商用服务开通教程
  • GCD 深入解析:从使用到底层实现
  • 数据库=====
  • 数字信号处理学习笔记--Chapter 0 数字信号处理概述
  • 【深度学习】典型的 CNN 网络
  • 力扣-字符串-165 比较版本号
  • P4552 [Poetize6] IncDec Sequence 题解
  • 黄仁勋:中国AI市场将达500亿美元,美国企业若无法参与是巨大损失
  • 降准又降息!央行发布3类10项措施
  • 潘功胜:将创设科技创新债券风险分担工具
  • 发表“男性患子宫肌瘤”论文的杂志一年发文三千余篇,中介称可提供代写
  • 巴菲特股东大会精华版:批评拿贸易当武器,宣布年底交班
  • 中青报:“爸妈替我在线相亲”,助力还是越界?