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