一,用es5和es6封装一个数组去重的方法

1,去除指定的数组元素

var arr = [11,22,11,33,33,22,22,44,55];
function delRepeat(  arr, val ){for( var i=arr.length-1; i>=0; i-- ){if( arr[i] === val ){arr.splice(i, 1);}}return arr;
}
console.log(delRepeat(arr, 22));

2,去除所有重复的元素

function delRepeat2( arr ){// 定义一个新数组var newArr = [];// 遍历传进来的数组for(var i=0; i<arr.length; i++){// 如果newArr里没有arr[i]if( newArr.indexOf(arr[i]) == -1 ){// 把arr[i]传进新数组newArr.push(arr[i]);}   }// 返回新数组return newArr;}var arr = [11,22,11,33,33,22,22,44,55];
console.log(delRepeat2(arr));

3,去除所有重复的元素(es6写法)

 let arr = [11,22,11,33,33,22,22,44,55];var newArr = [...new Set(arr)]    //利用set生成不重复的伪数组,然后【...value】将伪数组转化为新的真数组alert(newArr);

set是一种新的数据结构,它可以接收一个数组或者是类数组对象,自动去重其中的重复项目。返回一个新的对象。

二,数组扁平化

         var arr=[1,2,[3,4,[5,6]],5,6]var arr2=[]function handleArr(arr,arr2){var arr2=arr2 ||[]for(var i=0;i<arr.length;i++){if(Object.prototype.toString.call(arr[i])==='[object Array]'){handleArr(arr[i],arr2)    //关键就是这次递归}else{arr2.push(arr[i])}}return arr2}arr2=handleArr(arr,arr2)console.log(arr2)

js基础-7-数组去重的es5和es6写法、数组扁平化相关推荐

  1. js基础面试题整理(包含ES5,ES6)

    写一下 Javascript 的原始类型 原始类型:number,string,boolean,null,undefined 引用类型:object.里面包含function,Array,Date T ...

  2. react-native ES5与ES6写法对照表

    转载链接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/react-native-es5-and-es6-writing-tabl ...

  3. 数组去重 php,PHP编程快速实现数组去重的方法详解

    本文实例讲述了PHP编程快速实现数组去重的方法.分享给大家供大家参考,具体如下: 概述 使用PHP的array_unique()函数允许你传递一个数组,然后移除重复的值,返回一个拥有唯一值的数组.这个 ...

  4. es6 数组找最大值_JavaScript(es6)数组常用的方法

    常用方法 1.forEach() var data = [1,2,3,4,5]; var sum = 0;//求和 data.forEach((item)=>{sum+=item}) //给原数 ...

  5. 合并两个数组并去重(ES5和ES6两种方式实现)

    https://blog.csdn.net/weixin_40890907/article/details/82764900

  6. JS基础入门篇(四十三)—ES6(二)

    1.对象简洁表示法 原来写法 var name = "lzf";var gender = "male";var fn = function(){console. ...

  7. JS数组去重及表格操作行数据方法总结

    数组去重 一.利用ES6 Set去重(ES6中最常用) function unique (arr) {return Array.from(new Set(arr)) } var arr = [1,1, ...

  8. wps js宏二维数组去重

    文章目录 前言 一.new Set()对一维数组去重 二.遍历二维数组元素去重 三.object对二维数组去重 前言 set是集合,set集合中的值具有唯一性,利用set可以快速去除一维数组中的重复值 ...

  9. 学习Javascript之数组去重

    前言 本文2895字,阅读大约需要12分钟. 总括: 本文总结了10种常见的数组去重方法,并将各种方法进行了对比. 公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍 如烟往事俱忘却,心 ...

  10. 前端面试题-数组去重和排序

    首先,不好意思,我昨天偷懒了,没有更新面试题,今日补上昨日的锅. 基于上次的对象转化题目,不少同学指出对象种的数组如果长度不一样,不能满足功能,所以针对这个进行优化,代码如下所示: <scrip ...

最新文章

  1. 第八周项目5-定期存款利息计算器
  2. 通过IP获取地址,限制某些地址访问(GeoIp)
  3. JS高级 - 面向对象5(继承,引用)
  4. android 8 esp8266,ESP8266 WIFI模块学习之路(8)——自写Android手机APP控制直流电机正反转...
  5. OpenCV统计米粒数目-计算联通区域的个数及联通区域内像素的个数
  6. VM:Vmware简介、安装、使用方法详细攻略
  7. 强化学习(三)—— 策略学习(Policy-Based)及策略梯度(Policy Gradient)
  8. 永远不要让女生帮你寄领带
  9. iOS之深入分析GCD的函数与队列以及多种组合使用
  10. 软件推荐:微软桌面助手软件上手体验
  11. Intel MKL 多线程设置
  12. 对话猿辅导:阿里云远程办公零信任落地创新安全
  13. GIt -- Window下配置 git
  14. JAVA基础知识(13)-----Lock接口
  15. 评估系统C语言答案,用C语言评估语句
  16. Grafana 中存在严重的未授权任意文件读取漏洞,已遭利用
  17. 【迁移学习】算法之TrAdaBoost
  18. HTTPModules与HTTPHandler
  19. Introduction to Computer Networking学习笔记(二十五):NATs
  20. uniapp APP 接入萤石云

热门文章

  1. python解析xml选用什么模块_什么是适合Python的XML流解析器?
  2. linux双机热备份
  3. 斐波那契数列基本性质
  4. Android消除Toast延迟显示
  5. C# 自定义控件基础知识
  6. 波动速读入门训练(含黄卡、曼陀螺使用方法)提供卡片
  7. qt html 案例,QT代替WebView的方法及使用例子
  8. JVM监控及诊断工具命令行篇之jinfo
  9. uploadify上传文件Firefox浏览器上传失败解决方法
  10. 软件工程第1次阅读作业