首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JavaScript数组去重方法

JavaScript数组去重方法

作者头像
越陌度阡
发布于 2022-11-27 09:34:00
发布于 2022-11-27 09:34:00
65800
代码可运行
举报
运行总次数:0
代码可运行

在写JavaScript代码的时候,经常会用需要给数组去重,常用的操作方法是,利用indexOf去目标数中反复查找,代码如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function repeat(arr){
    var result=[];
    for(var i=0;i<arr.length;i++){
        // 在result中如果找不到arr中当前元素
        if(result.indexOf(arr[i])==-1){
            // 才将当前元素压入result
            result.push(arr[i]);
        }
    };
    return result;
}

但是这种写法的性能不高,碰到较大的数组时,很耗时,所以一般会用hash的方法去给数组去重。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function repeat(arr){
    var hash={};
    var result=[];
    for(var i=0;i<arr.length;i++){
        if(hash[arr[i]]===undefined){
            result.push(arr[i]);
            hash[arr[i]]=1;
        }
    }
    return result;
}

通过用hash的方法给数组去重,性能可以提高很多倍的,大家可以自己试一下啊。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【QT】布局管理器
之前使⽤ Qt 在界⾯上创建的控件, 都是通过 “绝对定位” 的⽅式来设定的;也就是每个控件所在的位置, 都需要计算坐标, 最终通过 setGeometry 或者 move ⽅式摆放过去。
YoungMLet
2024/07/16
4590
【QT】布局管理器
【Qt学习笔记】3.布局
创建一个窗口MyWindow,包含一个QLineEdit 和一个 QPlainTextEdit,然后用QVBoxLayout进行托管
py3study
2020/01/08
1.4K0
【Qt学习笔记】3.布局
11.QT-布局管理器(Box,Grid,Form,Stacked)
布局管理器简介 QT中提供了对界面组件进行布局管理的类,用于对界面组件进行管理, 能够自动排列窗口中的界面组件 窗口大小变化后,便会自动更新界面组件的大小。 布局管理器可以自定义,从而达到更加个性化界
诺谦
2018/05/28
1.9K0
[PyQt Tutorial]6.Layout Management(布局管理)
https://www.tutorialspoint.com/pyqt/pyqt_introduction.htm
bsbforever
2020/08/19
8550
[PyQt Tutorial]6.Layout Management(布局管理)
Qt入门-layout布局
http://blog.csdn.net/xgbing/article/details/7764326
bear_fish
2018/09/20
2.4K0
Qt入门-layout布局
sizeHint() minimumSizeHint() sizePolicy() 的使用
http://blog.csdn.net/zzwdkxx/article/details/32116999
bear_fish
2018/09/20
2.6K0
PyQt5 布局管理(水平、垂直、网格、表单、嵌套、QSplitter)
learn from 《PyQt5 快速开发与实战》 https://doc.qt.io/qtforpython/index.html https://www.riverbankcomputing.com/static/Docs/PyQt5
Michael阿明
2022/06/06
5.4K0
PyQt5 布局管理(水平、垂直、网格、表单、嵌套、QSplitter)
Python Qt GUI设计:窗口布局管理方法【强化篇】(基础篇—6)
在Python Qt GUI设计:窗口布局管理方法【基础篇】(基础篇—5)文章中,聊到了如何使用Qt Designer进行窗口布局管理,其实在Qt Designer中可以非常方便进行窗口布局管理设计,本篇博文在4种窗口布局方式基础上继续深入聊聊API函数~
不脱发的程序猿
2021/10/09
5.2K0
Python Qt GUI设计:窗口布局管理方法【强化篇】(基础篇—6)
Qt 水平布局 QHBoxLayout
Qt 像其他编辑器一样,在添加控件时,也可以自定义控件的坐标,让每个控件处于你希望的位置,但是这样相对麻烦,而 Qt 提供了一系列布局功能,本文介绍的就是水平布局 QHBoxLayout,他可以将一系列控件加入其布局中,然后将整个布局应用到窗口中。详见代码:
我与梦想有个约会
2023/10/20
8190
Qt 水平布局 QHBoxLayout
Pyqt5 关于流式布局和滚动条的综合使用
所谓流式布局指的是容器中的元素像流水一样,是可以浮动的,当元素一行或者一列占满的时候,它会自动流入到下一行或者下一列。
程序那些事儿
2023/03/07
1.8K0
Pyqt5 关于流式布局和滚动条的综合使用
PySide——Python图形化界面入门教程(二)
PySide——Python图形化界面入门教程(二)   ——交互Widget和布局容器                ——Interactive Widgets and Layout Containers 翻译自:http://pythoncentral.io/pyside-pyqt-tutorial-interactive-widgets-and-layout-containers/ 上一个教程中,我们了解了一些QWidget提供的功能,还有一个特殊的子类QLabel。更进一步的,我们完成了一个用来说
ascii0x03
2018/04/12
2.9K0
PySide——Python图形化界面入门教程(二)
看Qt源码理解为什么布局类不用删除?
  可以看到QPushButton和QHBoxLayout控件在new完后不需要执行delete操作。究竟是为何呢?我们再看看打印输出:
Qt君
2020/06/24
1.1K0
Qt官方示例-使用布局
  通常,子窗口小部件使用布局对象而不是通过显式指定位置和大小来安排在窗口内。在这里,我们构造了一个QLabel和QLineEdit控件并使用QHBoxLayout将它们并排布局。
Qt君
2020/03/19
5730
Qt官方示例-使用布局
PyQt中布局管理
布局管理是GUI编程中的一个重要方面。布局管理是一种如何在应用窗口上放置组件的一种方法。我们可以通过两种基础方式来管理布局。我们可以使用绝对定位和布局类。使用布局管理器管理布局是组织窗口小部件的首选方式
小飞侠xp
2018/12/24
2K0
QObject
说到Qt,你肯定首先想到的就是信号和槽,而这就不得不提到Qobject,这次和大家分享下QObject的相关内容,并对一些内容进行代码说明,方便理解。
用户5908113
2019/12/19
1.3K0
QObject
QTableWidget_qt tabwidget
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
4290
【QT】QT调色板类
QT提供的调色板类QPalette专门用于管理部件外观显示,相当于部件或对话框的调色板,管理他们所有的颜色信息。每个部件都包含一个QPalette对象,在显示时,按照它的QPalette对象中对各部分各状态下的颜色的描述进行绘制。
半生瓜的blog
2023/05/13
9270
如何在运行时动态添加和删除Qt Widgets
在油管上看到一篇关于Qt的视频:[How to Add & Remove Qt Widgets Dynamically at Runtime](https://www.youtube.com/watc
ccf19881030
2021/06/29
4.7K0
Qt 垂直布局及嵌套 layout
Qt 中垂直布局的 layout 是 QVBoxLayout 类,他的功能用发与 QHBoxLayout 完全一致,你只需将我们上一篇文章中的所有 QHBoxLayout 替换成 QVBoxLayout 就可以正常运行了。只不过一个是水平布局,一个是垂直布局。
我与梦想有个约会
2023/10/20
8170
Qt 垂直布局及嵌套 layout
『PyQt5-Qt Designer篇』| 07 Qt Designer中栅格布局和表单布局的使用
虫无涯
2023/09/25
1.6K0
相关推荐
【QT】布局管理器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档