当前位置:首页 > jquery

jquery 去重

2026-04-08 12:43:20jquery

jQuery 数组去重方法

使用 jQuery 或纯 JavaScript 对数组进行去重有多种方法。以下是几种常见的方式:

使用 $.unique()

jQuery 提供了 $.unique() 方法,但需要注意它仅适用于 DOM 元素数组的去重,不适用于普通数组。

var arr = [1, 2, 2, 3, 4, 4, 5];
var uniqueArr = $.unique(arr); // 不适用于普通数组

使用纯 JavaScript 方法

对于普通数组,可以使用以下方法:

方法 1:使用 Set

var arr = [1, 2, 2, 3, 4, 4, 5];
var uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, 3, 4, 5]

方法 2:使用 filter + indexOf

var arr = [1, 2, 2, 3, 4, 4, 5];
var uniqueArr = arr.filter(function(item, index) {
    return arr.indexOf(item) === index;
});
console.log(uniqueArr); // [1, 2, 3, 4, 5]

方法 3:使用 reduce

var arr = [1, 2, 2, 3, 4, 4, 5];
var uniqueArr = arr.reduce(function(acc, curr) {
    if (!acc.includes(curr)) {
        acc.push(curr);
    }
    return acc;
}, []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]

使用 jQuery 的 $.grep()

虽然不是直接去重,但可以结合其他方法实现:

jquery 去重

var arr = [1, 2, 2, 3, 4, 4, 5];
var uniqueArr = [];
$.each(arr, function(i, item) {
    if ($.inArray(item, uniqueArr) === -1) {
        uniqueArr.push(item);
    }
});
console.log(uniqueArr); // [1, 2, 3, 4, 5]

注意事项

  • $.unique() 仅适用于 DOM 元素数组,不推荐用于普通数组。
  • 现代 JavaScript 的 Set 方法是最简洁高效的去重方式。
  • 如果需要兼容旧浏览器,可以使用 filter + indexOfreduce 方法。

标签: jquery
分享给朋友:

相关文章

jquery api

jquery api

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。以下是 jQuery API 的核心功能和使用方法: 选择器 jQuery…

jquery 图表

jquery 图表

jQuery 图表库推荐 jQuery 本身不直接提供图表功能,但可以通过插件或集成其他库实现图表绘制。以下是几种常用的 jQuery 图表解决方案: Chart.js 集成 Chart.j…

jquery对象

jquery对象

jQuery 对象简介 jQuery 对象是通过 jQuery 选择器或方法创建的封装了 DOM 元素集合的对象。它提供了一系列便捷的方法来操作 DOM、处理事件、实现动画等。与原生 DOM 对象不同…

jquery时间

jquery时间

jQuery 时间处理 jQuery 本身不提供专门的时间处理函数,但可以通过 JavaScript 的 Date 对象结合 jQuery 的事件和方法来实现时间操作。以下是常见的时间处理需求及实现方…

jquery上传

jquery上传

jQuery 文件上传的实现方法 jQuery 可以通过多种方式实现文件上传功能,以下介绍几种常见的方法: 使用原生表单和 AJAX 通过 HTML 表单结合 jQuery 的 AJAX 功能实现文…

jquery动画

jquery动画

jQuery动画基础 jQuery提供了多种动画方法,用于创建平滑的过渡效果。常用的动画方法包括animate()、fadeIn()、fadeOut()、slideUp()和slideDown()。…