当前位置:首页 > JavaScript

js实现数组去重排序

2026-01-31 07:29:14JavaScript

数组去重排序的实现方法

使用 Set 和 sort 方法

Set 数据结构可以自动去除重复元素,结合数组的 sort 方法可以实现去重和排序。

const arr = [3, 1, 2, 2, 4, 3, 5];
const uniqueSorted = [...new Set(arr)].sort((a, b) => a - b);
console.log(uniqueSorted); // [1, 2, 3, 4, 5]

使用 filter 和 indexOf 方法

通过 filter 方法结合 indexOf 判断元素是否为首次出现,再使用 sort 排序。

const arr = [3, 1, 2, 2, 4, 3, 5];
const uniqueSorted = arr
  .filter((item, index) => arr.indexOf(item) === index)
  .sort((a, b) => a - b);
console.log(uniqueSorted); // [1, 2, 3, 4, 5]

使用 reduce 和 includes 方法

利用 reduce 方法累积不重复元素,再用 sort 排序。

const arr = [3, 1, 2, 2, 4, 3, 5];
const uniqueSorted = arr
  .reduce((acc, curr) => (acc.includes(curr) ? acc : [...acc, curr]), [])
  .sort((a, b) => a - b);
console.log(uniqueSorted); // [1, 2, 3, 4, 5]

使用 for 循环和对象存储

通过 for 循环遍历数组,利用对象存储已出现元素,最后对结果排序。

const arr = [3, 1, 2, 2, 4, 3, 5];
const unique = [];
const seen = {};
for (let item of arr) {
  if (!seen[item]) {
    seen[item] = true;
    unique.push(item);
  }
}
const uniqueSorted = unique.sort((a, b) => a - b);
console.log(uniqueSorted); // [1, 2, 3, 4, 5]

使用 lodash 库

如果项目中使用了 lodash 库,可以直接调用其方法实现。

js实现数组去重排序

const _ = require('lodash');
const arr = [3, 1, 2, 2, 4, 3, 5];
const uniqueSorted = _.sortBy(_.uniq(arr));
console.log(uniqueSorted); // [1, 2, 3, 4, 5]

以上方法均可实现数组去重和排序,选择适合项目需求和性能要求的方法即可。

标签: 数组js
分享给朋友:

相关文章

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval 实…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…