var arr=[1,1,1,1,2,2,2,3,3,4,1,4,5,7,8,7,7]
let m = {}
arr.filter(item => m[item] >= 1 ? false : (m[item] = (m[item] || 0) + 1))
//filter返回false删除掉遍历的当前元素,true留下当前元素
//(m[item] = (m[item] || 0) + 1) m[item]记录的是当前元素item出现的次数,可以打印出m看下效果 var arr=[1,1,1,1,2,2,2,3,3,4,1,4,5,7,8,7,7]
let m = {}
arr.filter(item => m[item] >= 2 ? false : (m[item] = (m[item] || 0) + 1))

[1, 2, 3, 4, 5, 7, 8]

[1, 1, 2, 2, 3, 3, 4, 4, 5, 7, 8, 7]

js对重复数组去重的更多相关文章

  1. js 去掉重复数组

    js去掉重复数组 重点一:字符串转数组  strArr.join(',') 重点二:做循环数组删除的时候,每次循环就把color[i] 去对比i之前所有数组color组合起来的字符串 比如 : i=1 ...

  2. js冒泡排序,数组去重

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. js小知识-数组去重

    查看zepto源码时,看到它的数组去重写法非常简单.下面是代码 var uq = function(array){ return [].filter.call(array,function(item, ...

  4. js面试题-数组去重

    今天,在聊天群里看到数组去重的话题,面试者的答案如下: 参考答案如下: 程序员思维,做出如下测试: 未考虑到:1,‘1’是不同的,应该不去重 未考虑到对象 所以,参考答案只能去重基础类型 根据以往看过 ...

  5. js递归和数组去重(简单便捷的用法)

    1.递归例子<script type="text/javascript"> function test(num) { if(num < 0) { return; ...

  6. js冒泡排序和数组去重

    1.冒泡排序 <script>//声明一个数组 var arr=[1,88,66,22,35,65,4,52];//自执行函数 (function maopao(){ for(var i= ...

  7. 【 js 算法类】数组去重

    以 var arr = [1,2,3,1]; 作为测试用例 方法一:双循环   (时间复杂度比较高,性能一般.) A.(1) function unique(arr) { var newArr = [ ...

  8. Js里面的数组去重方法

    去掉数组里面重复的有很多种,我这里就说一种比较简单的吧. var arr=[23,33,44,33,44,66,44,55,44,4,44,33,23]; for(var i=0;i<arr.l ...

  9. 利用js自带函数 数组去重

    <script> ,,]; //原数组 var a=[]; //定义空数组 arr.map(function(x){ //用 map 遍历数组 ){ //如果当前值没有存在空数组中 a.p ...

随机推荐

  1. GitHub界面初识

      现在很多 HR 在招聘程序员的需求都会提到「有 Github 项目者优先」,大部分求职者也会在简历中附上 Github 链接. 作为一个专业的 HR,即便不懂代码,也不能被一个链接唬住.今天我就手 ...

  2. C++设计模式——组合模式

    问题描述 上图,是一个公司的组织结构图,总部下面有多个子公司,同时总部也有各个部门,子公司下面有多个部门.如果对这样的公司开发一个OA系统,作为程序员的你,如何设计这个OA系统呢?先不说如何设计实现, ...

  3. CKEditor5 + vue2.0 自定义图片上传、highlight、字体等用法

    因业务需求,要在 vue2.0 的项目里使用富文本编辑器,经过调研多个编辑器,CKEditor5 支持 vue,遂采用.因 CKEditor5 文档比较少,此处记录下引用和一些基本用法. CKEdit ...

  4. Quartz+TopShelf实现定时任务

    转自 https://www.cnblogs.com/frozenzhang/archive/2016/04/29/5443778.html 1.创建控制台程序 2.添加引用 添加TopShelf的引 ...

  5. 【原创】大叔经验分享(45)kibana添加index pattern卡住 返回403 Forbidden

    kibana添加index pattern卡住,通过浏览器查看请求返回状态为403 Forbidden,返回消息为: {"message":"blocked by: [F ...

  6. 根据SQL_ID查询并杀会话

    Oracle 根据SQL_ID查询并杀会话,清空执行计划缓冲池2018年09月06日 10:31:40 小学生汤米 阅读数:4731. 查询最近五分钟内最高频次SQL,查看event select t ...

  7. (转)http authorization 基本认证

    转:https://www.cnblogs.com/chenrong/articles/5818498.html http协议是无状态的, 浏览器和web服务器之间可以通过cookie来身份识别. 桌 ...

  8. JavaScript读取对象属性遇到的问题

    JavaScript中对于对象的属性存取方式有两种:“.”操作和[]操作. “.”操作属性名通常直接写,[]操作中属性的名字通常要加引号, 而当需要读取的对象属性名是一个变量的时候,一般使用[]操作, ...

  9. 原生js实现无缝轮播

    原生js实现无缝轮播 因为要做到无缝,所以就要把第一张图片和最后一张连接起来,在此处采用js克隆了第一张图片的节点,添加到最后,显示图片序号的小圆按钮也是使用js动态添加的. html部分 <d ...

  10. Ubuntu16.04 安装NVIDIA显卡驱动

    1. 禁用系统默认的集成驱动 Ubuntu系统集成的显卡驱动程序是nouveau,它是第三方为NVIDIA开发的开源驱动,我们需要先将其屏蔽才能安装NVIDIA官方驱动.将驱动添加到黑名单blackl ...