js 数组去重方法汇总
2024-08-28 13:00:46
<!DOCTYPE html>
<html lang="zh"> <head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>js 数组去重</title>
</head>
<body> <script src="https://cdn.bootcss.com/lodash.js/4.17.10/lodash.min.js"></script>
<script type="text/javascript">
//方法一
function arrayUnique1(arr) {
const ret = []
for(let i = 0; i < arr.length; i++) {
const item = arr[i],
idx = ret.indexOf(item) if(idx < 0) {
ret.push(item)
}
}
return ret
}
//方法二
function arrayUnique2(arr) {
const map = {},
ret = []
for(let i = 0; i < arr.length; i++) {
const item = arr[i]
if(map[item] == null) {
map[item] = i
ret.push(item)
}
}
return ret
}
//方法三:
function arrayUnique3(arr) {
return arr.filter((item, i) => arr.indexOf(item) === i)
}
//方法四
function arrayUnique4(arr) {
return [...new Set(arr)]
}
const arr = [1, 3, 1, 2, 2, 4, 3, 4, 1]
console.log(arrayUnique4(arr))
</script>
</body> </html>
最新文章
- 用opencv的traincascade训练检测器
- Swift开发第三篇——Playground
- addLoadEvent方法解析
- 使用VIRTUALBOX安装ANDROID系统 | 图文教程 | 相关设置
- ios-控件的frame_center_bounds简单介绍
- 轻松学习Linux系统安装篇之fdisk命令行工具的使用
- Android假退出不是流氓行为
- mysql 更新 语句中 的 safe_mode
- must return an Iterable of arrays.(junit4)
- 更深入一点理解switch语句及c/c++对const的处理
- javascript设计模式之解释器模式详解
- Android下使用busybox的ifconfig
- 从一个事件绑定说起 - DOM
- Linux 学习 (七) 挂载命令 &; 用户登陆查看
- Java中的4个并发工具类 CountDownLatch CyclicBarrier Semaphore Exchanger
- es6解构赋值的高级技巧
- CentOS7下Docker中构建可以自动发布到项目的Tomcat容器
- django 基于form表单上传文件和基于ajax上传文件
- [C语言]使用函数
- url获取参数
热门文章
- Codeforces Round #300 Quasi Binary(DP)
- 解决CDH的web界面使用nginx代理一些静态文件无法加载
- [Nescaf&#233;41]异化多肽(多项式求逆元)
- Java编程思想学习(一)----对象导论中多态的理解
- #iOS问题记录# UIWebView滑动到底部
- [典型漏洞分享]结合YS业务分析使用oauth协议的风险
- NHibernate官方文档中文版-框架架构(Architecture)
- HDU 4634 Swipe Bo (2013多校4 1003 搜索)
- Git 对比 SVN
- [Android Memory] Linux下malloc函数和OOM Killer