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利用控件对windows的操作实现原理与应用
Dec 23 Javascript
js不能跳转到上一页面的问题解决方法
Mar 01 Javascript
iframe里的页面禁止右键事件的方法
Jun 10 Javascript
Js制作点击输入框时默认文字消失的效果
Sep 05 Javascript
JavaScript 七大技巧(二)
Dec 13 Javascript
通过JS获取Request.QueryString()参数的值实现方法
Sep 27 Javascript
JavaScript将base64图片转换成formData并通过AJAX提交的实现方法
Oct 24 Javascript
js实现做通讯录的索引滑动显示效果和滑动显示锚点效果
Feb 18 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
Apr 12 Javascript
js移动端事件基础及常用事件库详解
Aug 15 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
Sep 19 Javascript
JavaScript事件循环及宏任务微任务原理解析
Sep 02 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
世界第一个无线广播电台 KDKA
2021/03/01 无线电
php基础知识:类与对象(1)
2006/12/13 PHP
PHP mkdir()定义和用法
2009/01/14 PHP
discuz的php防止sql注入函数
2011/01/17 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
vue2.0 子组件改变props值,并向父组件传值的方法
2018/03/01 Javascript
layui获取选中行数据的实例讲解
2018/08/19 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
微信小程序实现菜单左右联动
2020/05/19 Javascript
python实现mysql的读写分离及负载均衡
2018/02/04 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
Pycharm配置远程调试的方法步骤
2018/12/17 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
python的debug实用工具 pdb详解
2019/07/12 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
Django权限控制的使用
2021/01/07 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
英国剑桥包官网:The Cambridge Satchel Company
2016/08/01 全球购物
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
大专生自我评价
2014/01/28 职场文书
《老山界》教学反思
2014/04/08 职场文书
求职信结尾怎么写
2014/05/26 职场文书
民用住房租房协议书
2014/10/29 职场文书
在校生证明
2015/06/17 职场文书
生产车间管理制度
2015/08/04 职场文书
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python