iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >ES6中怎么去除Array对象重复项
  • 287
分享到

ES6中怎么去除Array对象重复项

2024-04-02 19:04:59 287人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关es6中怎么去除Array对象重复项,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。输入例子[false, true,&

这篇文章将为大家详细讲解有关es6中怎么去除Array对象重复项,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

输入例子

[false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN].uniq()

输出例子

[false, true, undefined, null, NaN, 0, 1, {}, {}, 'a']

分析

题目要求给 Array 添加方法,所以我们需要用到 prototype。数组去重本身算法不是很难,但是在 javascript 中很多人会忽视 NaN 的存在,因为在 js 中 NaN !== NaN 。但是在去重中我们又不能保留两个 NaN ,所以需要进行一下判断,这是很多人容易忽视的。

ES5的实现如下:

代码

Array.prototype.uniq = function () {
 var arr = [];
 var flag = true;
 this.forEach(function(item) {
 // 排除 NaN (重要!!!)
 if (item != item) {
 flag && arr.indexOf(item) === -1 ? arr.push(item) : '';
 flag = false;
 } else {
 arr.indexOf(item) === -1 ? arr.push(item) : ''
 }
 });
 return arr;
}

验证

我们只需要在数组上直接调用 uniq 方法就可以了,如:

[false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN].uniq()

结果为:

[false, true, undefined, null, NaN, 0, 1, {}, {}, 'a']

进阶

ES6的实现

ES6新增了 Set 对象,也就是我们所说的“集合”,它类似于数组,但是成员的值都是唯一的,没有重复的值。所以可以方便去重。

Set本身是一个构造函数,用来生成Set数据结构。(详看?Set和Map数据结构)

如果用ES6为 Array 对象添加一个去除重复项的方法,则可以如下实现:

Array.prototype.uniq = function() {
 return Array.from(new Set(this));
}

代码中用 Array.from 把 Set 结构转换成数组,当然,你也可以用其他方法,这里不深究。这里去重关键代码只需要一行,是不是非常简单??

如果你要优雅一点,可以使用 ES6 的扩展运算符。如下:

Array.prototype.uniq = function() {
 return [...new Set(this)];
}

关于ES6中怎么去除Array对象重复项就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: ES6中怎么去除Array对象重复项

本文链接: https://www.lsjlt.com/news/76544.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ES6中怎么去除Array对象重复项
    这篇文章将为大家详细讲解有关ES6中怎么去除Array对象重复项,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。输入例子[false, true,&...
    99+
    2024-04-02
  • es6数组对象怎么去重
    ES6中可以使用Set和Array.from()方法来进行数组对象的去重。方法一:使用Set去重```let arr = [{id:...
    99+
    2023-10-09
    es6
  • JavaScript中怎么去掉array重复元素
    JavaScript中怎么去掉array重复元素,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Filterfilter是一个常用的操作,它...
    99+
    2024-04-02
  • 怎么在java8项目中对List对象属性去重
    怎么在java8项目中对List对象属性去重?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。第一种: 不使用java8 private Lis...
    99+
    2023-06-14
  • 怎么使用python list去除重复项
    今天小编给大家分享一下怎么使用python list去除重复项的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们...
    99+
    2024-04-02
  • 怎么在JavaScript中对象数组去重
    怎么在JavaScript中对象数组去重?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。JavaScript有什么特点1、js属于一种解释性脚本语言;2、在绝大多数浏览器的支...
    99+
    2023-06-14
  • php怎么去除重复值
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php怎么去除重复值?php去除数组中重复值,并返回结果!array_unique(array) 只能处理value只有单个的数组。去除有多个value数组,可以使用...
    99+
    2024-04-02
  • javascript中的Array对象怎么使用
    本文小编为大家详细介绍“javascript中的Array对象怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“javascript中的Array对象怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。创...
    99+
    2023-07-05
  • ES6中对象怎么简写
    这篇文章将为大家详细讲解有关ES6中对象怎么简写,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。对象的简写let name = 'zh...
    99+
    2024-04-02
  • mysql中distinct怎么去除重复数据
    在MySQL中,可以使用DISTINCT关键字来去除重复数据。 例如,假设我们有一个名为"students"的表...
    99+
    2024-04-09
    mysql
  • 怎么在mysql中去除重复数据
    在mysql中去除重复数据的方法:1.启动mysql;2.登录mysql数据库;3.进入数据表;4.使用COUNT函数统计重复数据;5.执行命令删除重复数据;具体步骤如下:首先,在命令行中启动mysql服务;service mys...
    99+
    2024-04-02
  • 怎么在java项目中利用List对象列表实现去重
    这篇文章给大家介绍怎么在java项目中利用List对象列表实现去重,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、list去重1.1 实体类StudentList<Student>容量10k以上,要求去重...
    99+
    2023-05-31
    java list ava
  • php中一维数组如何去除重复项
    这篇文章主要介绍php中一维数组如何去除重复项,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php一维数组去除重复值的方法:首先创建一个PHP示例文件;然后定义一个一维数组;最后通过“array_unique($ar...
    99+
    2023-06-08
  • mysql怎么去除重复数据
    在MySQL中,你可以使用DISTINCT关键字来去除重复数据。 例如,假设你有一个名为employees的表,其中有一列为name...
    99+
    2024-04-09
    mysql
  • golang怎么去除重复数据
    在进行数据处理或业务逻辑时,很多时候需要对数据进行去重操作,以保证数据的准确性和完整性。在 Golang 中去除重复数据有多种方法,下面将介绍其中几种常用方法。使用 map使用 map 是 Golang 中去除重复数据最常用的方法之一。ma...
    99+
    2023-05-14
  • EXCEL怎么去除文件中的重复行
    本篇内容介绍了“EXCEL怎么去除文件中的重复行”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在EXCEL...
    99+
    2024-04-02
  • ES6中怎么使用Promise对象
    这期内容当中小编将会给大家带来有关ES6中怎么使用Promise对象,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在promise之前处理异步回调的方式function&...
    99+
    2024-04-02
  • python怎么去除list中重复的数据
    可以使用set()函数来去除list中的重复数据。set()函数会自动去除重复的数据,然后再转换回list。以下是一个示例代码:```pythonmy_list = [1, 2, 3, 3, 4, 5, 5, 6]my_list = l...
    99+
    2023-08-11
    python list
  • Python中怎么实现列表去重复项
    Python中怎么实现列表去重复项,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。方式## 1. 新建列表,如果新列表中不存在,则添加到新列表。 ...
    99+
    2023-06-16
  • 如何在 PHP 中根据特定键值对去除数组中的重复项?
    在 php 中,使用 array_unique() 函数,根据特定键值对去除数组重复项。调用函数时传入数组作为参数,选择排序方式作为第二个参数。此函数返回一个新数组,其中重复项已根据指定...
    99+
    2024-04-28
    php 数组去重 键值对
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作