js如何进行数组去重?

2023-11-05

1:数组反转
使用 reverse() 实现数组反转
const arr = [1, 2, 3];

console.log(arr); // [1, 2, 3]

arr.reverse();

console.log(arr); // [3, 2, 1]

2:数组去重
- 1 [...new Set(array)]
原理:将数组通过set函数变成一个没有重复元素的集合,再将集合变成一个没有重复元素的数组
 - 2 利用for嵌套for,然后splice去重(ES5中最常用)
function unique(arr){            
        for(var i=0; i<arr.length; i++){
            for(var j=i+1; j<arr.length; j++){
                if(arr[i]==arr[j]){         //第一个等同于第二个,splice方法删除第二个
                    arr.splice(j,1);
                    j--;
                }
            }
        }
return arr;
}
- 3 利用indexOf去重
function unique(arr) {
    if (!Array.isArray(arr)) {
        console.log('type error!')
        return
    }
    var array = [];
    for (var i = 0; i < arr.length; i++) {
        if (array .indexOf(arr[i]) === -1) {
            //若新数组未检索到元素,则将钙元素放入新数组
            array .push(arr[i])
        }
    }
    return array;
}


 


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

js如何进行数组去重? 的相关文章

随机推荐

  • excel多元线性拟合_急,如何用excel拟合多元函数

    数据如下 公式lny lnA aT blnK clnL D 其中AD是固定值 y是生产总值 T是时间 K是固定资产投资 L是就业 求用excel拟合方程求出abc 多谢了 急等各位大侠 生产总值 固定资产投资 时间 就业 522 28 11
  • 胡言乱语

    1 2013 4 10 又梦见你们苍苍的容颜 心里满满的自责 我早该长大了 不应该心存侥幸的在抗拒 让你们承受的太多了 愧疚难当
  • 最新CTR预测服务的GPU优化实践

    CTR模型在互联网的搜索 推荐 广告等场景有着广泛的应用 近年来 随着深度神经网络的引入 CTR模型的推理对硬件算力的要求逐渐增加 本文介绍了美团在CTR模型优化的实践 通过分析模型结构特点 结合GPU硬件架构 我们设计了一系列流程对模型进
  • 目标检测标签文件txt转成xml

    最近在用ppyolo训练好的模型对新采集的数据进行标记 再人工微调 减少从头打标签的时间 但是推理保存的结果都是txt格式的 想要在labelimg中可视化 那就需要将txt转换成xml 以下代码即可完成这一功能 coding UTF 8
  • Web_Components 系列(九)—— Shadow Host 的 CSS 选择器

    前言 在上一节我们了解了如何给自定义组件设置样式 当时是将自定义标签的样式设置在主 DOM 中的
  • docker从安装到入门(centos7连不上网)

    我们安装好centos7之后 只用网络链接的NAT模式 主机有网你就有网 傻瓜式链接 但是发现ping不通百度 通过ifconfig a发现ens33没有ip 虽然和这个没关系 因为用的是NAT模式 我们编辑vi etc sysconfig
  • OpenGL error 0x0502

    项目出现OpenGL error 0x0502 导致有些UI绘制不出来 大致情况是这样 游戏切换到后台之后 其他玩家发来语音 在语音还在播放的时候 切换回前台 这个时候语音服务器 用的融云 会推送到安卓底层 安卓底层有回调到cocos2dx
  • Linux系统之neofetch工具的基本使用

    Linux系统之neofetch工具的基本使用 一 neofetch工具介绍 1 1 neofetch简介 1 2 neofetch特点 二 检查本地环境 2 1 检查操作系统版本 2 2 检查内核版本 三 安装neofetch工具 3 1
  • VMware Workstation Pro 安装教程

    文章目录 笔者的运行环境 VMware Workstation 16 Pro Red Hat Enterprise Linux 8 3 0 需要提前一个操作系统的镜像文件 ISO 这个文件与 VMware 无关 实际上 在安装完 VMwar
  • 生成字典的三种方式

    字典是记录一些特殊或有目的性的密码集合 通常以txt格式进行记录保存 在渗透许多服务器 smb ftp ssh 远程桌面rdp 网页后台等一些用户登录时 没有正确密码 使用密码字典爆破就是最直接的黑客攻击方法 一 使用cupp工具生成 1
  • 对输入数据排序后进行二分查找(C语言)

    输入数据后的排序方法有很多种 这里我用的是暴力排序 各位友友们可以尝试更改排序方法 include
  • Python selenium 滚动页面以及滚动至元素可见之详细讲解

    我们滚动浏览器页面向上 下 左右可以用一下代码 向上和向左需要加 向下滚动xx个像素 driver execute script window scrollBy 0 xx 向上滚动x个像素 driver execute script win
  • JM解码(一):参考帧列表和DPB处理

    以P帧为例 void alloc ref pic list reordering buffer Slice currSlice int size currSlice gt num ref idx active LIST 0 1 if cur
  • 谷粒商城-分布式高级篇[商城业务-订单服务]

    谷粒商城 分布式基础篇 环境准备 谷粒商城 分布式基础 业务编写 谷粒商城 分布式高级篇 业务编写 持续更新 谷粒商城 分布式高级篇 ElasticSearch 谷粒商城 分布式高级篇 分布式锁与缓存 项目托管于gitee 一 页面环境搭建
  • ubuntu freeradius 3.0 + mariadb

    安装数据库及Radius sudo apt update sudo apt install y freeradius freeradius mysql freeradius utils mariadb server mariadb clie
  • Unity Rotate鼠标控制人物旋转

    添加碰撞盒 一定要添加碰撞盒才能响应鼠标事件 将碰撞盒复制给骨架 如果鼠标划动的向量 X轴大于Y轴 则是左右划动 让它旋转 SpinWithMouse using System Collections using System Collec
  • 窗体,组件,事件

    窗体对象JFrame package frame import javax swing public class JFrameTest public static void main String args 创建窗体对象 JFrame jF
  • 使用javacv中的ffmpeg实现录屏,结果连运行都失败了,现在终于解决了

    前言 今天突发奇想 想自己写一个录屏的软件 上次写了一个专门录音的Demo 但是要把声音和视频放到一起合成一个mp4文件 着实有一点艰难 所以就打算使用ffmpeg来写一个 而这篇博客中会顺便谈一谈我碰到的各种坑 ffmpeg是一个c 程序
  • 中兴EPON OLT-C300开局配置

    一 基础配置 1 自定义时间 clock set hh mm ss Apr 8 2018 con t username zte password zte privilege 15 用户名密码 2 自定义名称 hostname CeShi O
  • js如何进行数组去重?

    1 数组反转 使用 reverse 实现数组反转 const arr 1 2 3 console log arr 1 2 3 arr reverse console log arr 3 2 1 2 数组去重 1 new Set array