<!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>

最新文章

  1. 用opencv的traincascade训练检测器
  2. Swift开发第三篇——Playground
  3. addLoadEvent方法解析
  4. 使用VIRTUALBOX安装ANDROID系统 | 图文教程 | 相关设置
  5. ios-控件的frame_center_bounds简单介绍
  6. 轻松学习Linux系统安装篇之fdisk命令行工具的使用
  7. Android假退出不是流氓行为
  8. mysql 更新 语句中 的 safe_mode
  9. must return an Iterable of arrays.(junit4)
  10. 更深入一点理解switch语句及c/c++对const的处理
  11. javascript设计模式之解释器模式详解
  12. Android下使用busybox的ifconfig
  13. 从一个事件绑定说起 - DOM
  14. Linux 学习 (七) 挂载命令 &amp; 用户登陆查看
  15. Java中的4个并发工具类 CountDownLatch CyclicBarrier Semaphore Exchanger
  16. es6解构赋值的高级技巧
  17. CentOS7下Docker中构建可以自动发布到项目的Tomcat容器
  18. django 基于form表单上传文件和基于ajax上传文件
  19. [C语言]使用函数
  20. url获取参数

热门文章

  1. Codeforces Round #300 Quasi Binary(DP)
  2. 解决CDH的web界面使用nginx代理一些静态文件无法加载
  3. [Nescaf&#233;41]异化多肽(多项式求逆元)
  4. Java编程思想学习(一)----对象导论中多态的理解
  5. #iOS问题记录# UIWebView滑动到底部
  6. [典型漏洞分享]结合YS业务分析使用oauth协议的风险
  7. NHibernate官方文档中文版-框架架构(Architecture)
  8. HDU 4634 Swipe Bo (2013多校4 1003 搜索)
  9. Git 对比 SVN
  10. [Android Memory] Linux下malloc函数和OOM Killer