js去重的几种方法 1. arr.includes(item) arr数组里面是否包含item这个元素,返回true或者false,与arr.indexOf(item) -1相反(等于-1说明不包含这个元素)let arr [1,2,3,3,2,1] var newArr []; for(var i in arr){ !newArr.includes(arr[i]) newArr.push(arr[i]) } console.log(newArr)2.reducearray.reduce(function(total, currentValue, currentIndex, arr), initialValue)参数参数描述function(total,currentValue, index,arr)必需。用于执行每个数组元素的函数。函数参数:参数描述total必需。初始值, 或者计算结束后的返回值。currentValue必需。当前元素currentIndex可选。当前元素的索引arr可选。当前元素所属的数组对象。initialValue可选。传递给函数的初始值let arr [1,2,3,3,2,1] var newArr arr.reduce(function (prev, cur) { !prev.includes(cur) prev.push(cur); return prev; },[]); console.log(newArr)3.Set这种数据类型里面的元素必须保证唯一性,所以正好可以处理这个问题:let arr [1,2,3,3,2,1]console.log(new Set(arr))// 直接使用扩展运算符就能再转化为数组console.log([...new Set(arr)]);4.利用对象的key是唯一性的特点也可以去重let arr [1,2,3,3,2,1]let obj {}arr.forEach(ee{obj[ee] })console.log(Object.keys(obj))5.Mapconst map new Map(); const oldArr [0, 5, 8, 5, 7, 3, 9, 1, 1, 0]; oldArr.forEach(item { if (!map.get(item)) { map.set(item, { val: item }); } }); console.log(map, map); console.log(map.keys(), map.values()); const arr1 Array.from(map.values(), ee ee.val); const arr2 Array.from(map.keys()); console.log(arr1, arr2, Array.isArray(arr1), Array.isArray(arr2));6.lodash_.uniq([1, 2, 2, 3, 3]); // [1, 2, 3] _.uniqBy([{ id: 1 }, { id: 1 }, { id: 2 }], id); // [{id:1}, {id:2}]

相关新闻

最新新闻

从SaaS迁移到私有化部署的研发管理工具,需要注意什么?

从SaaS迁移到私有化部署的研发管理工具,需要注意什么?

很多研发团队最初选择 SaaS 项目管理软件,看重的是开箱即用和低成本起步。等代码量、团队规模上来,数据安全、合规审计、定制流程和长期订阅成本开始成为变量,“迁到私有化部署”被提上日程。 迁移不是换一个部署形式,而是把数据边…

2026/8/7 19:22:32
Flutter-Dribbble-Challenge核心组件解析:3大Dribbble设计灵感实战案例

Flutter-Dribbble-Challenge核心组件解析:3大Dribbble设计灵感实战案例

Flutter-Dribbble-Challenge核心组件解析:3大Dribbble设计灵感实战案例 【免费下载链接】Flutter-Dribbble-Challenge A Flutter ui kit made with designs from dribbble. 项目地址: https://gitcode.com/gh_mirrors/fl/Flutter-Dribbble-Challenge Flutter…

2026/8/7 19:22:32
适合研发团队的DevOps平台怎么选?选型指南与方案推荐

适合研发团队的DevOps平台怎么选?选型指南与方案推荐

研发团队选DevOps平台没有统一答案。与其直接看产品名单,不如先建立一套可复用的选型维度,再按团队规模、行业与预算对照方案。IDC预测,2025年全球DevOps市场规模约150亿美元,年复合增长率24.7%;Gartner预计到2027年&a…

2026/8/7 19:22:32
Maya glTF导出插件终极指南:3步实现专业3D模型到Web格式的完美转换

Maya glTF导出插件终极指南:3步实现专业3D模型到Web格式的完美转换

Maya glTF导出插件终极指南:3步实现专业3D模型到Web格式的完美转换 【免费下载链接】maya-glTF glTF 2.0 exporter for Autodesk Maya 项目地址: https://gitcode.com/gh_mirrors/ma/maya-glTF 在当今Web 3D应用蓬勃发展的时代,将Autodesk Maya中…

2026/8/7 19:22:32
五种 IO 模型与阻塞 IO

五种 IO 模型与阻塞 IO

从理论到编程:IO效率问题的引入在掌握了socket套接字编程和网络原理之后,我们接下来将目光投向一个实际工程中的核心挑战——高并发场景下的IO效率问题。IO 的理解IO为什么"慢"?——物理层面的根源在计算机系统中,IO操作…

2026/8/7 19:22:32
接口性能优化

接口性能优化

一、耗时统计 在做接口的性能优化时,最重要的是知道时间消耗在哪里。 优先使用 Arthas ,进行耗时统计。不需要写冗余代码,无侵入。 https://blog.csdn.net/sinat_32502451/article/details/142960019 可以用StopWatch,进行耗时统…

2026/8/7 19:17:32