JavaScript 数组去重方法合集(简洁易懂)
JavaScript数组去重
JavaScript去重的七种方法 简单易懂
方法一:暴力去重法
// 暴力去重法
function ArrayIsUnique (array) {if (!Array.isArray(array)) return;for (let i = 0; i < array.length; i++) {for (let j = i + 1; j < array.length; j++) {if (array[i] === array[j]) {array.splice(j, 1)j--}}}return array
}
方法二:Set方法
// Set方法去重
function ArrayIsUnique2 (array) {if (!Array.isArray(array)) return;const map = new Set(array)return Array.from(map)
}
方法三:Map方法
// Map方法去重
function ArrayIsUnique3 (array) {if (!Array.isArray(array)) return;const map = new Map()array.forEach(item => map.set(item, item))return Array.from(map.values())
}
方法四:先排序再去重
// 先排序再去重
function ArrayIsUnique4 (array) {if (!Array.isArray(array)) return;array.sort()for (let i = 0; i < array.length; i++) {if (array[i] === array[i + 1]) {array.splice(i, 1)}}return array
}
方法五:indexof方法去重
// 定义一个新数组 如果没有就存进去
function ArrayIsUnique5 (array) {if (!Array.isArray(array)) return;const arr = []array.forEach(item => {if (arr.indexOf(item) === -1) {arr.push(item)}})return arr
}
方法六:使用includes方法
function ArrayIsUnique6 (array) {if (!Array.isArray(array)) return;const arr = []array.forEach(item => {if (!arr.includes(item)) {arr.push(item)}})return arr
}
方法七:filter方法
function ArrayIsUnique7 (array) {if (!Array.isArray(array)) return;let arr = array.map(item => item)array.forEach(item => {arr = arr.filter(i => item !== i)arr.push(item)})return arr
}
如有错误 可指出修改 谢谢
JavaScript 数组去重方法合集(简洁易懂)相关推荐
- javascript数组去重方法汇总
前言 数组去重已经是一个老生常谈的问题了,依然经久不息,经过岁月的变迁es标准的升级迭代,似乎有越来越多的方法和方式供我们使用,那么那种方式才是最优的?那种才是最简洁的?这个我们一起来探讨. 省略:传 ...
- 珍宝鸭的力扣练习(10):数组特殊方法合集
题目合集: 方法1:二分法 例题1:不在排序数组内的数字 例题2:target开始与结束位置 例题3:旋转数组的最小值 例题4:排序数组中target的个数 方法2:摩尔投票法 例题1:不在数组内的数 ...
- js数组去重,合集等操作
<html> <head><script type="text/javascript"> var a=['a','b','c']; var b= ...
- javascript数组去重方法性能测试比较
昨天参加的一个前端面试,其中有一题数组去重,首先想到的是对象存键值的方法,代码如下 方法一:(简单存键值) Array.prototype.distinct1 = function() {var i= ...
- Javascript数组去重方法
目录 什么是数组去重? 1.利用sort排序去重 2.利用indexOf去重 3.new Set 什么是数组去重? 把重复多余的元素剔除掉,我们常利用以下方法去重,方法很多,随便列举两种 1.利用so ...
- JavaScript数组去重方法整理
常见的包括三类:暴力式嵌套遍历,先排序后遍历,词典式一次遍历. 这里只贴代码吧.可直接放在浏览器的控制台运行.详细的介绍文章(含参考文章的链接)在 http://borninsummer.com/b ...
- 【循环数组】js循环数组的方法合集
一.forEach循环 注:没有 return 返回值,且不能用break跳出循环. let arrlist = ['123','456','789'];arrlist.forEach(functio ...
- 六种方法实现JavaScript数组去重
tip:有问题或者需要大厂内推的+我脉脉哦:丛培森 ٩( 'ω' )و [本文源址:http://blog.csdn.net/q1056843325/article/details/73277063 ...
- javascript数组去重的10种方法
亲爱的小伙伴,对于数组javascript中的数组去重方法你知道多少种呢?学会如何对数组进行去重对于javascript的学习来说也是十分重要的,下边就让我来分享一下我所知道的集中数组去重的方法吧! ...
最新文章
- 控制Open With菜单项的注册表键值
- Python关于装饰器的练习题
- ED2k Resource
- 一道关于比赛胜负的Sql查询题目
- node.js模块引擎
- 毕设题目:Matlab三维装箱
- 算法动画图解(安卓)、排序算法的可视化
- 金蝶软件和用友软件部署在阿里云ECS具体方法及教程
- SovitChart工具1分钟快速开发前端统计图表
- 红包算法-二倍均值法
- 【存储】SDS软件定义存储,看这一篇就够了
- unity 报错 Some objects were not cleaned up when closing the scene. 原因与方案
- 【BZOJ5285】【HNOI2018】寻宝游戏
- 电脑磁盘(特别是C盘)又满了,不知道删除什么?试试这款磁盘分析工具
- 【​观察】做好数据到介质的连接者 新数据时代浪潮存储的行与思
- mate7安装android o,华为Mate7怎么刷机 华为Mate7刷机教程【步骤详解】
- AUTOCAD——弧长标注命令、半径标注命令
- 爱博精电亮相四川省节能环保品牌推广全川行——乐山站
- C语言 强符号与弱符号
- 跳槽前如何精准评估自己的身价?
热门文章
- 原生js字符串拼接问题(拼接字符串和变量,input框的value绑定变量)
- 计算机美术基础学情分析,绘画教学计划(通用3篇)
- block中断 virtio_virtio-blk浅析[转]
- python多态_Python 多态与抽象类
- MATLAB基础学习(一)基本数学计算
- c++语言取整为什么要加0.5_c++ 取整:四舍五入 向上取整 向下取整
- 兄台们冷静一些,不要有事没事就民族性,劣根性!
- Wireshark网络抓包实验
- Android源码解析之Bitmap占用内存正确的计算公式 你知道吗
- 计算机网络-协议与层级划分