// 数组去重
let arr = ['a', 'b', 'b', 1, 1, 'true', true, true, NaN, NaN, 'NaN', undefined, undefined, null, null];
// 1. 集合
unique1 = arr => [...new Set(arr)]; // 2. 双循环
unique2 = arr => {
let array = [];
arr.forEach(item => {
if (!array.includes(item)) {
array.push(item);
}
})
return array
} // 3. 对象的属性 / Map的key 唯一性
unique3 = arr => {
const map = new Map();
return arr.filter(item => !map.has(item) && map.set(item, 1))
}
unique4 = arr => {
let obj = {}
return arr.filter(item => !obj[typeof item + item] && (obj[typeof item + item] = 1))
} // 4. 排序
unique5 = arr => {
arr = arr.sort()
let res = [arr[0]]
for (let i = 1; i < arr.length; i++) {
if (arr[i] !== arr[i - 1]) {
res.push(arr[i])
}
}
return res
}

最新文章

  1. npm package.json属性详解
  2. [翻译] Android是怎样绘制视图的
  3. mui 下拉刷新
  4. SQL SERVER 2012 从Enterprise Evaluation Edtion 升级到 Standard Edtion SP1
  5. Linux下误删除后的恢复操作(ext3/ext4)
  6. android: SQLite删除数据
  7. zw版【转发&#183;台湾nvp系列Delphi例程】HALCON FillUpShape2
  8. node.js应用Redis数据库
  9. @property和@synthesize的特性
  10. HDU 1465
  11. java编解码技术,json序列化与二进制序列化
  12. 多线程与网络之JSON和XML数据的解析
  13. [Google Code Jam (Qualification Round 2014) ] A. Magic Trick
  14. JavaScript阻止事件冒泡
  15. OpenCV系列--摄像头控制的简单代码
  16. eclipse进行关联代码
  17. window配置mongodb集群(副本集)
  18. web.xml文件介绍
  19. oracle(2)
  20. QAU 18校赛 J题 天平(01背包 判断能否装满)

热门文章

  1. 降维之奇异值分解(SVD)
  2. Jrebel 远程热部署[Idea]
  3. 12.swoole学习笔记--锁机制
  4. 三十三、在SAP中通过选择屏幕,选择我们需要的数据
  5. 030-PHP日期查询函数
  6. String巩固
  7. springMvc接收json和返回json对象
  8. hdu3359 Kind of a Blur
  9. Dijkstra--The Captain
  10. Java基础之IO流整理