当前位置:首页 > 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 库,可以直接调用其方法实现。

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实现数组平均值

vue实现数组平均值

计算数组平均值的方法 在Vue中计算数组的平均值可以通过多种方式实现。以下是几种常见的方法: 方法一:使用计算属性 export default { data() { return…

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 实现页面跳转,这是最常用的方法。 window.location.href = 'https:/…

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选…

js实现复制功能

js实现复制功能

使用 document.execCommand 方法 这种方法适用于较旧的浏览器,但在现代浏览器中可能被逐步淘汰。通过创建一个临时的 textarea 元素,将文本内容放入其中,然后执行复制命令。…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统…

js实现pdf在线预览

js实现pdf在线预览

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