数组去重

说到数组去重小编准备了两种方案

1.第一种splice(删除项下标,删除几个)

现有数组

var arr = [1,2,3,3,6,2,6,1,4]

我们要去掉数组中重复项 那我们肯定要做对比所以 循环遍历是不可少的

var arr = [1,2,3,3,6,2,6,1,4]
for (var i = 0; i < arr.length; i++){ //}

我们用数组长短 来控制它循环多少次
接下来 我们需要做的是 拿数组里面的数 跟每一项做一个对比
如果是重复的就去除
那么我们还需要一个循环来遍历数组 所以我们在循环里面再套一个循环
道理懂了 那么我们能跟数组的自己比吗?
肯定不行 那么第二层的循环要从第一层开始数的 下一个开始 所以就是i+1

var arr = [1,2,3,3,6,2,6,1,4]
for (var i = 0; i < arr.length; i++) { //for (var j = i + 1; j < arr.length; j++){if (arr[i] == arr[j]) {arr.splice(j, 1)j--}}}

所以我们用数组api **splice(删除项下标,删除几个)**来删掉 然后
因为数组长度发生改变所以我们还要j–来把数组全都走完这样我们就去重了

2.第二种利用对象去重

首先定义一个对象
循环肯定不能少

var arr = [1,2,3,3,6,2,6,1,4]
var obj = {}for (var i = 0; i < arr.length; i++) {}

原理:对象的属性名不会重复 所以我们用这个特点把数组中的值变成对象的属性
那么我们来判断对象里面是否有这个属性

var arr = [1, 2, 3, 3, 6, 2, 6, 1, 4]var obj = {}for (var i = 0; i < arr.length; i++) {if (obj[arr[i]]) {obj[arr[i]]++} else {obj[arr[i]] = 1;}}

当有这个属性就加一 没有就给它赋值为1 让它存在
接下来我们再遍历对象获取它的属性名 添加到数组

 var arr = [1, 2, 3, 3, 6, 2, 6, 1, 4]var obj = {}for (var i = 0; i < arr.length; i++) {if (obj[arr[i]]) {obj[arr[i]]++} else {obj[arr[i]] = 1;}}arr = []for (var j in obj) {arr.push(j)}

这样就得到了去重后的数组 这两种方法都是改变了原数组 所以不建议

js(javascript)数组去重相关推荐

  1. JavaScript数组去重—ES6的两种方式

    说明 JavaScript数组去重这个问题,经常出现在面试题中,以前也写过一篇数组去重的文章,(JavaScript 数组去重的多种方法原理详解)但感觉代码还是有点不够简单,今天和大家再说两种方法,代 ...

  2. JS对象数组去重简单有效方法

    I.输入 JS对象数组去重是业务经常遇到的方法,稍微简洁一点的方法,如下: var data = [{"id": 1, "name": "李四1&qu ...

  3. Js面试题(一)--js实现数组去重怎么实现?

    方法1.创建一个新的临时数组来保存数组中已有的元素 方法2.使用哈希表存储已有元素 方法3.使用indexof判断数组元素第一次出现的位置是否为当前位置 方法4.先排序再去重 第一种方法和第三种方法都 ...

  4. JavaScript数组去重算法实例

    本文主要介绍了JavaScript数组去重算法,结合实例形式总结分析了JavaScript数组去重相关的读写.遍历.比较.排序等操作及算法改进相关实现技巧,需要的朋友可以参考下 测试用例: arr = ...

  5. 前端:JS实现数组去重常用的六种方法介绍

    今天给大家分享JS实现数组去重常用的六种方法,希望对大家能有所帮助! 定义变量 let arr = [20,6,13,20,100,8,13,11]; let newArr = []; 1.两层循环去 ...

  6. 六种方法实现JavaScript数组去重

    tip:有问题或者需要大厂内推的+我脉脉哦:丛培森 ٩( 'ω' )و [本文源址:http://blog.csdn.net/q1056843325/article/details/73277063 ...

  7. JavaScript数组去重的方式

    数组去重的意思就是去除数组中重复的元素,处理完后数组中所有的元素都是唯一的,本文介绍了在js中数组去重的5种方式,请往下看. 1. 利用Set对象 Set 对象 Set 对象允许你存储任何类型的唯一值 ...

  8. JavaScript 数组去重方法合集(简洁易懂)

    JavaScript数组去重 JavaScript去重的七种方法 简单易懂 方法一:暴力去重法 // 暴力去重法 function ArrayIsUnique (array) {if (!Array. ...

  9. JavaScript数组去重的五种方法

    JavaScript数组去重的五种方法 先简单准备一个数组,用于方法的实验: let array = [1,1,2,3,4,4,1,5,6,6,7,7,7]; console.log(`去重前的数组: ...

  10. java数组去重_再谈JavaScript数组去重

    JavaScript的数组去重是一个老生常谈的话题了.随便搜一搜就能找到非常多不同版本的解法. 细想一下,这样一个看似简单的需求,如果要做到完备,涉及的知识和需要注意的地方着实不少. 定义重复(相等) ...

最新文章

  1. 推荐一个 开源C#股票软件
  2. 基于bs4+requests的豆瓣电影爬虫
  3. 第二届中国云计算与SaaS学术会议征文通知
  4. 计算特征数据matlab代码,科学网—MATLAB特征提取代码 - 蒋样明的博文
  5. ZYNQ 调试遇到的问题
  6. 在Windows下不使用密码远程登陆Linux
  7. python pandas借助pandas-profiling自动生成EDA
  8. c 匹配mysql密码,MySQL设置密码的三种方法
  9. DAY8-Nessus漏洞扫描
  10. 深度之眼_Week2 编程作业1_梯度下降
  11. css选择器思维导图
  12. bookstrap必备的基础知识
  13. Werkzeug 库——routing 模块简析
  14. 路侧停车系统有利有弊
  15. pytorch 权重weight 与 梯度grad 可视化
  16. 华为服务器查看虚拟ip,裸金属服务器管理虚拟IP地址
  17. Android开源库集锦 + Android场景桌面(一) 转自way
  18. Python拼接图片
  19. R语言开发之输出散点图
  20. 4 变量、作用域与内存

热门文章

  1. php编写的抽奖程序中奖概率算法
  2. 电路计算机辅助设计上海电力学院,上海电力学院电路计算机辅助设计1..doc
  3. android 潮汐接口,潮汐现在支持杜比全景声音乐 但仅在Android设备上
  4. 2023年Q1 区块链领域融资大事记
  5. Autodesk Revit MEP 2011软件安装破解详细步骤
  6. 卧槽!VSCode 竟然整成小霸王游戏机!逆天摸鱼神器....
  7. 树莓派56/100 - 用Pico连接蜂鸣器演奏音乐,用来纪念儿时玩的超级玛丽游戏
  8. 问题 L: Daydream
  9. JDBC事务控制管理
  10. 使用 jQuery.i18n.properties 实现 Web 前端的国际化