JavaScript-js数组去重

article/2025/11/2 9:33:03

1,利用Set()方法

let list = [1,2,1,2,4,4,5]
let Newlist = Array.from(new Set(list))
console.log(Newlist)//输出[ 1, 2, 4, 5 ]

2,新建一个数组,逐一保存原数组中的值,判断新数组中是否已有该数值,无则保存,有则不做操作,这样就可以返回一个无重复的数组

(1)用一个自建的函数判断新数组中是否已有该数值

let list = [1,2,1,2,4,4,5]
//新数组
let newList = new Array()//本方法用来传入数值num,查找数组arr中是否存在num,没有则返回false
function find(num, arr) {for (let i=0; i < arr.length; i++) {if (num == arr[i]) {return true}}return false
}
//逐个判断存入新数组
for(let i=0; i < list.length; i++) {if (!find(list[i], newList)) {newList.push(list[i])}
}
console.log(newList)//输出[ 1, 2, 4, 5 ]

(2)本方法也可以用indexOf方法来判断新数组中是否已有该数值
(indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,如果没有找到匹配的字符串则返回 -1。)

let list = [1,2,1,2,4,4,5]
let newList = new Array()for(let i=0; i < list.length; i++) {if (newList.indexOf(list[i]) == -1) {newList.push(list[i])}
}
console.log(newList)//输出[ 1, 2, 4, 5 ]

(3)利用对象的属性来判断新数组中是否已有该数值
如果对象没有该值,返回一个false

let list = [1,2,1,2,4,4,5]
// list.sort()
let newList = new Array()
let obj = {}
for(let i=0; i < list.length; i++) {if(!obj[list[i]]) {newList.push(list[i])obj[list[i]] = true}
}console.log(newList)//输出[ 1, 2, 4, 5 ]

3.先排序,然后删除往后的相同项,利用到数组的splice方法

数组splice方法

let list = [1,2,1,2,4,4,5]
list.sort()
for(let i=0; i < list.length; i++) {if(list[i] == list[i+1]) {list.splice(i,1)}
}console.log(list)//输出[ 1, 2, 4, 5 ]

4.利用双重for循环,删除重复的项

let list = [1,2,1,2,4,4,5]for (let i=0; i < list.length; i++) {for (let j=i + 1; j < list.length; j++) {if (list[i] == list[j]) {list.splice(j, 1)j--//由于删除后数组下一位补上,所以需要减一}}
}console.log(list)//输出[ 1, 2, 4, 5 ]

http://chatgpt.dhexx.cn/article/U0OpK6Go.shtml

相关文章

常用的JS数组去重方法大全

写在前面&#xff1a; 我们要想使用数组去重&#xff0c;那就必须对数组有一定的了解&#xff0c;关于JS数组的一些方法以及使用&#xff0c;可参考&#xff1a; ①JavaScript 内置对象之-Array ②ES5新增数组方法 ③浅谈JavaScript中ES6新增的Set和Map结构以及Array.from方法 …

js去重都有哪些方法?

1、去重方法一 arr.splice 2、去重方法二 借助新数组&#xff0c;判断新数组中是否存在该元素如果不存在则将此元素添加到新数组中(原数组长度不变但被按字符串顺序排序) 3、创建一个新数组&#xff0c;判断新数组中是否存在该元素如果不存在则将此元素添加到新数组中 4、借助i…

JS中数组去重的五种方法

数组去重的几种方法(JavaScript版&#xff09; 前言&#xff1a;你需要知道JavaScript中的 splice函数 的用法 splice函数介绍&#xff1a; splice函数用法&#xff1a;splice函数介绍看不懂没关系&#xff0c;怎么用一看例子一目了然 第一种&#xff1a;双重for循环去重 原…

js数组中对象去重的方法

一个数组中含有对象&#xff0c;并且去除数组中重复的对象 id相同的&#xff0c;保留第一个&#xff0c;其它的删除 let arr [{ id: 0, name: "张三" },{ id: 1, name: "李四" },{ id: 2, name: "王五" },{ id: 3, name: "赵六" },{…

js实现数组去重的方式(7种)

目录 JS数组去重的方式1.利用Set()Array.from()2.利用两层循环数组的splice方法3.利用数组的indexOf方法4.利用数组的includes方法5.利用数组的filter()indexOf()6.利用Map()7.利用对象 JS数组去重的方式 例&#xff1a;将下面数组去除重复元素&#xff08;以多种数据类型为例…

js数组去重(9种方法),你都会了吗?

以下共有九种数组去重的方式和详解&#xff08;包含对象数组去重&#xff09;&#xff1a; 1.利用Array.from(new Set)去重&#xff1a; // 1.利用set去重 // Set是es6新增的数据结构&#xff0c;似于数组&#xff0c;但它的一大特性就是所有元素都是唯一的&#xff0c;没有…

解决Linux没有ens33

#临时关闭 systemctl stop NetworkManager # 永久关闭网络管理命令 systemctl disable NetworkManager #开启网络服务 systemctl start network.service

【ubuntu虚拟机】ens33未出现在ifconfig问题

事情发生与2023年4月12日&#xff0c;windows上安装了docker-desktop&#xff0c;奈何wsl不好用&#xff0c;便卸载了&#xff0c;之后我的虚拟机ubuntu无法联网&#xff0c;于是开始解决之旅 事故原因 ifconfig查了一下&#xff0c;没有ens33网卡&#xff0c;于是用ip addres…

Centos开机后ens33网卡失效连不上网

今天使用xshell连接虚拟机一直失败 打开虚拟机ip addr 发现如下问题 解决方案 1.尝试重启网关 ifup ens33 &#xff08;无法解决&#xff09; # ifup ens332.停止网卡&#xff0c;设置disable后重新启动 &#xff08;依旧失败&#xff09; # systemctl stop NetworkManager…

centos7网络配置没有ens33文件

注意&#xff1a;此教程中的centos是已经能够上网的状态&#xff01; 问题来源 需要使用centos7来搭建一些服务器&#xff0c;由于我用的VMware总是自己变ip并且不能设置&#xff0c;所以只能从centos系统配置文件下手 。 从网上教程来看&#xff0c;centos7 的网卡名叫 ens33&…

Linux 初始化网络配置ens33

配置文件路径&#xff1a; [rootnode2 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYPEEthernet BOOTPROTOstatic DEFROUTEyes IPV4_FAILURE_FATALno #IPV6INITyes #IPV6_AUTOCONFyes #IPV6_DEFROUTEyes #IPV6_PEERDNSyes #IPV6_PEERROUTESyes #IPV6_FAILURE_FATALno…

怎么修改Linux网络名为ens33,Centos7更改ens33网卡名称为eth0

用ifconfig查看网卡名称为ens33&#xff0c;现在要将它修改成eth0 [rootlocalhost ~]# ifconfig ens33: flags4163 mtu 1500 inet 192.168.1.3 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 2409:8a02:9014:8440:20c:29ff:fe95:cc8f prefixlen 64 scopeid 0x0 inet6 f…

linux怎么修改ens33文件,linux 修改centos7的网卡ens33修改为eth0

Linux 操作系统的网卡设备的传统命名方式是 eth0、eth1、eth2等,而 CentOS7 提供了不同的命名规则,默认是基于固件、拓扑、位置信息来分配。这样做的优点是命名全自动的、可预知的,缺点是比 eth0、wlan0 更难读,比如 ens33 。 如果不习惯使用新的命名规则,可以恢复使用传统…

linux网卡ens33,如何解决Linux 系统下 ifconfig 命令无网络接口 ens33

今天我在做Redis的哨兵集群模式的时候&#xff0c;以前都是好的&#xff0c;也不知道从什么时候开始就无法连接Redis服务器了&#xff0c;就是运行如下命令&#xff0c;没有效果&#xff1a;redis-server redis.conf&#xff0c;然后在通过命令查看redis的状态&#xff0c;始终…

centos找不到ens33

输入这行命令进入配置网络地址&#xff0c;却显示是新文件。 解决方法 先进入前面的文件夹cd /etc/sysconfig/network-scripts/ 然后再ls 发现我们的是ens192 cd ifcfg-ens192进入修改 最后 systemctl restart network 再ip add 查看

Ubuntu20.04 设置ens33网卡

简介&#xff1a;记录一下Ubuntu20.04 设置ens33网卡。起因&#xff1a;在虚拟机启动情况下&#xff0c;直接关闭主机。导致重新启动虚拟机后ens33网卡无法生成ip。 1.进入 /etc/netplan/ 目录 2.修改目录下文件 3.执行命令 netplan apply 再重启执行 ifconfig 就能看到 ens3…

ens33网卡IP地址丢掉了

背景 有的时候&#xff0c;vmware创建centos7的虚拟机上开始用的好好的&#xff0c;后来&#xff0c;ens33的ip地址就不见了。 试图启动ens33&#xff0c;发现无法启动 解决办法 chkconfig NetworkManager off chkconfig network on service NetworkManager stop service ne…

CentOS:ens33没有IP地址

CentOS&#xff1a;ens33没有IP地址 1.环境版本 2.问题异常 启动CentOS操作系统后&#xff0c;经过ip a命令&#xff08;或ifconfig&#xff09;查看无IP地址&#xff1a; 3.解决步骤 root角色修改配置文件&#xff1a; # vi /etc/sysconfig/network-scripts/ifcfg-ens33将O…

linux虚拟机ifcfg-ens33网卡配置,静态IP、网关、子网掩码、DNS地址的配置

使用ifconfig命令显示命令找不到&#xff0c;可以yum install net-tools安装。 1、使用ifconfig查找虚拟机现有的网络配置 其中lo是本地网络&#xff0c;ens33是主要配置的网络 2、查找网络配置所需要的资料&#xff1a;ip地址范围、网关、子网掩码、DNS地址 ip地址范围&…

c语言字符串长度,占用字节大小,存放位置等问题

参考文章&#xff1a;https://www.cnblogs.com/xmhsincere/p/4915354.html 1、三者长度strlen问题 int main () {char *str"xiaolong";printf("%d\n",strlen(str));return 0; } 结果&#xff1a; #include <stdio.h> #include <string.h>i…