JavaScript 数组去重详解


Posted in Javascript onSeptember 15, 2021

1.数组去重

/**********************************************
         ?description:
        ?作者: 麒麟社
        ?时间: 2021-09-13 22:26:21
        ?名称: V1.0.5
        ***********************************************/
        var obj = ['麒麟','社','CC','DD','麒麟','社','11',11]
            //定义一个新的数组
            var s = [];
            //遍历数组
            for(var i=0;i<obj.length;i++){
            if(s.indexOf(obj[i]) == -1){  //判断在s数组中是否存在,不存在则push到s数组中
                s.push(obj[i]);
             }
            }
        console.log(s);

JavaScript 数组去重详解

2.数组去重里面的对象去重

/**********************************************
         ?description:
         ?作者: 麒麟社
         ?时间: 2021-09-13 22:26:21
         ?名称: V1.0.5
        ***********************************************/
        var old_data = [
            { name:'ccc', age:'18' },
            { name:'peng', age:'18' }, //去除peng重复
            { name:'aaa', age:'18' },
            { name:'peng', age:'18' },
          ]
          //  方法1:利用对象访问属性的方法,判断对象中是否存在key
          var result = [];
          var obj = {};
          old_data.forEach(function (data) {
          if(!obj[data.name]){
          result.push(data);
          obj[data.name] = true;
            }
          })
          console.log(result);

JavaScript 数组去重详解

3.根据数组某个字段相同,修改另外字段值

/**********************************************
        ?description:
        ?作者: 麒麟社
        ?时间: 2021-09-13 22:26:21
        ?名称: V1.0.5
        ***********************************************/
        var oldData = [
            { name:'cccc', age:'5656' },
            { name:'cccc', age:'22dddsada' },
            { name:'cccc', age:'22dddsada' },
            { name:'aaaa', age:'32' },
            { name:'aaaa', age:'2dasdasdas2' },
          ]
          var newArr = [];
          for (var i = 0; i <oldData.length; i++) {
          var item = oldData[i];
          var isExists = false;
          for (var j = 0; j < newArr.length; j++) {
          var item2 = newArr[j];
          if (item2.name == item.name) {
          isExists = true;
          break;
                }
            }
          if (isExists) {
          // 这里找到相同的,更改一样的
          if(item.name == 'cccc'){
          item.age = '222222'
          item2.age = '222222'
                }else{
          item.age = '3333'
          item2.age = '3333'
                }
          newArr.push(item2);
          continue;
            }
          newArr.push(item);
          }
          console.log(newArr)

JavaScript 数组去重详解

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注三水点靠木的更多内容!

Javascript 相关文章推荐
JavaScript中的console.time()函数详细介绍
Dec 29 Javascript
浅谈javascript的分号的使用
May 12 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
May 17 Javascript
AngularJS控制器之间的通信方式详解
Nov 03 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
Mar 21 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
Jun 16 Javascript
AngularJS创建一个上传照片的指令实例代码
Feb 24 Javascript
vue数组对象排序的实现代码
Jun 20 Javascript
vue2.0获取鼠标位置的方法
Sep 13 Javascript
浅谈vue限制文本框输入数字的正确姿势
Sep 02 Javascript
JavaScript 预解析的4种实现方法解析
Sep 03 Javascript
JS常用正则表达式超全集(密码强度校验,金额校验,IE版本,IPv4,IPv6校验)
Feb 03 Javascript
5种方法告诉你如何使JavaScript 代码库更干净
Sep 15 #Javascript
JavaScript小技巧带你提升你的代码技能
Sep 15 #Javascript
javascript函数式编程基础
Sep 15 #Javascript
15个值得收藏的JavaScript函数
Sep 15 #Javascript
详解JavaScript中Arguments对象用途
详细谈谈JavaScript中循环之间的差异
Aug 23 #Javascript
javascript代码简写的几种常用方式汇总
Aug 23 #Javascript
You might like
PHP strtok()函数的优点分析
2010/03/02 PHP
php数据结构与算法(PHP描述) 快速排序 quick sort
2012/06/21 PHP
php通过session防url攻击方法
2014/12/10 PHP
深入讲解PHP Session及如何保持其不过期的方法
2015/08/18 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
javaScript复制功能调用实现方案
2012/12/13 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
2017/01/12 Javascript
jQuery Layer弹出层传值到父页面的实现代码
2017/08/17 jQuery
iframe高度自适应及隐藏滚动条的实例详解
2017/09/29 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
1分钟快速生成用于网页内容提取的xslt
2018/02/23 Python
python实现图片文件批量重命名
2020/03/23 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
python 解决tqdm模块不能单行显示的问题
2020/02/19 Python
Python:__eq__和__str__函数的使用示例
2020/09/26 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
adidas官方旗舰店:德国运动用品制造商
2017/11/25 全球购物
法国创作个性化T恤衫和其他定制产品平台:Tostadora
2018/04/08 全球购物
机械专业求职信范文
2014/07/15 职场文书
毕业生自荐信范文
2015/03/05 职场文书
经典人生语录分享:不畏将来,不念过去,笑对当下
2019/12/12 职场文书
500字作文之难忘的同学
2019/12/20 职场文书
Go语言应该什么情况使用指针
2021/07/25 Golang