Javascript-数组去重

简介: Javascript-数组去重

数组去重


在 JavaScript 中,可以使用多种方法对数组进行去重。下面介绍几种常用的数组去重方法:

使用 Set:天然去重

javascript
var array = [1, 2, 3, 4, 1, 2, 3];
var uniqueArray = [...new Set(array)];
console.log(uniqueArray);  // 输出 [1, 2, 3, 4]

利用 Set 数据结构的特性,它只会存储不重复的值,通过将数组转化为 Set,再将 Set 转换为数组的方式,实现数组去重。


使用 indexOf:

javascript
var array = [1, 2, 3, 4, 1, 2, 3];
var uniqueArray = array.filter(function(value, index, self) {
  return self.indexOf(value) === index;
});
console.log(uniqueArray);  // 输出 [1, 2, 3, 4]

利用数组的 filter 方法和 indexOf 方法,遍历原数组,通过检查元素在数组中首次出现的索引是否等于当前索引,来判断元素是否重复。


使用 includes:

javascript
var array = [1, 2, 3, 4, 1, 2, 3];
var uniqueArray = array.filter(function(value, index, self) {
  return self.includes(value, index + 1) === false;
});
console.log(uniqueArray);  // 输出 [1, 2, 3, 4]

利用数组的 filter 方法和 includes 方法,遍历原数组,通过检查元素后面是否还有相同的元素来判断是否重复。


使用 reduce:

javascript
var array = [1, 2, 3, 4, 1, 2, 3];
var uniqueArray = array.reduce(function(prev, curr) {
  if (prev.indexOf(curr) === -1) {
    prev.push(curr);
  }
  return prev;
}, []);
console.log(uniqueArray);  // 输出 [1, 2, 3, 4]

利用数组的 reduce 方法,遍历原数组,将不重复的元素追加到结果数组中。

这些方法都可以实现数组去重,但各有特点。选择合适的方法取决于具体的需求和性能要求。

目录
相关文章
|
6月前
|
JavaScript 前端开发
js实现对象数组去重
js实现对象数组去重
45 0
|
6月前
|
JavaScript 小程序
js数组去重的10种有效方法 vue 数组去重
js数组去重的10种有效方法 vue 数组去重
|
6月前
|
存储 JavaScript 前端开发
史上最详细JavaScript数组去重方法(11种)
使用set和Array.from ()方法 array.from可以将set结构转成数组
60 7
|
29天前
|
存储 JavaScript 前端开发
JavaScript数组去重的八种方法详解及性能对比
在JavaScript开发中,数组去重是一个常见的操作。本文详细介绍了八种实现数组去重的方法,从基础的双重循环和 indexOf() 方法,到较为高级的 Set 和 Map 实现。同时,分析了每种方法的原理和适用场景,并指出了使用 Set 和 Map 是目前最优的解决方案。通过本文,读者可以深入理解每种方法的优缺点,并选择最合适的数组去重方式。
55 0
|
5月前
|
存储 JavaScript 前端开发
JS中数组去重的几种方法
JS中数组去重的几种方法
27 1
|
4月前
|
JavaScript
JS 数组去重(含简单数组去重【5种方法】、对象数组去重【2种方法】)
JS 数组去重(含简单数组去重【5种方法】、对象数组去重【2种方法】)
46 0
|
4月前
|
JavaScript 前端开发 C++
JavaScript 数组去重——普通数组去重 vs 对象数组去重
JavaScript 数组去重——普通数组去重 vs 对象数组去重
33 0
|
6月前
|
JavaScript
分享经典面试题:JS数组去重的多种方法
分享经典面试题:JS数组去重的多种方法
|
6月前
|
JavaScript
js多维数组去重并使具有相同属性的对象数量相加
js多维数组去重并使具有相同属性的对象数量相加
33 1
|
6月前
|
JavaScript
js数组去重
js数组去重
39 1