JavaScrip数组去重操作实例小结
网络编程 2021-07-04 15:50www.168986.cn编程入门
这篇文章主要介绍了JavaScrip数组去重操作,结合实例形式分析了javascript针对数组的遍历、判断、去重等相关操作技巧,需要的朋友可以参考下
本文实例讲述了JavaScrip数组去重操作。分享给大家供大家参考,具体如下
内置的for-of方法
<script> var arr=[2,1,1,3,'','','e','e',true,'true',true,false,false,'false',undefined,'undefined',undefined,null,'null',null]; function uniqueUseForOf(array) { const temp = []; //一个临时数组 // 传入值必须存在,且长度小于等于1的时候直接返回数组 if (array && array.length <= 1) { return array; } else { //遍历当前数组 for (let x of array) { temp.indexOf(x) === -1 ? temp.push(x) : ''; } } return temp; } uniqueUseForOf(arr); console.log(uniqueUseForOf(arr)) </script>
运行结果
内置的forEach方法
<script> var arr=[3,1,1,3,'','','e','e',true,'true',true,false,false,'false',undefined,'undefined',undefined,null,'null',null]; function uniqueUseForEach(array) { // 传入值必须存在,且长度小于等于1的时候直接返回数组 if (array && array.length <= 1) { return array; } else { var temp = []; //一个临时数组 //遍历当前数组 array.forEach(function (value, index) { temp.indexOf(value) == -1 ? temp.push(value) : ''; }) return temp; } } uniqueUseForEach(arr); console.log(uniqueUseForEach(arr)) </script>
运行结果
万能的for方法
<script> var arr=[1,1,'','','e','e',true,'true',true,false,false,'false',undefined,'undefined',undefined,null,'null',null]; function uniqueUseFor(array) { var temp = []; //一个临时数组 //遍历当前数组 for (var i = 0, j = array.length; i < j; i++) { //很直白,新数组内判断是否有这个值,没有的情况下,就推入该新数组 temp.indexOf(array[i]) === -1 ? temp.push(array[i]) : ''; } return temp; } uniqueUseFor(arr); console.log(uniqueUseFor(arr)) </script>
运行结果
第一种方法
<script> var arr = [1, 2, 3, 4, 1, 2, 4, 5, 6]; console.log(arr); Array.prototype.unique = function() { var n = [this[0]]; //结果数组 for(var i = 1; i < this.length; i++) //从第二项开始遍历 { //如果当前数组的第i项在当前数组中第一次出现的位置不是i, //那么表示第i项是重复的,忽略掉。否则存入结果数组 if(this.indexOf(this[i]) == i) n.push(this[i]); } return n; }; console.log(arr.unique()); </script>
第二种方法
<script> var arr = [1,2,3,4,1,2,4,5,6]; console.log(arr); Array.prototype.unique = function() { var n = {}, r = []; //n为hash表,r为临时数组 for (var i = 0; i < this.length; i++) { //遍历当前数组 if (!n[this[i]]) { //如果hash表中没有当前项 n[this[i]] = true; //存入hash表 r.push(this[i]); //把当前数组的当前项push到临时数组里面 } } return r; }; console.log(arr.unique()); </script>
第三种方法
<script> var arr = [1,2,3,4,1,2,4,5,6]; console.log(arr); Array.prototype.unique = function() { var n = []; //一个新的临时数组 for (var i = 0; i < this.length; i++) //遍历当前数组 { //如果当前数组的第i已经保存进了临时数组,那么跳过, //否则把当前项push到临时数组里面 if (n.indexOf(this[i]) == -1) n.push(this[i]); } return n; }; console.log(arr.unique()); </script>
上述三种方法运行结果为
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具测试上述代码运行效果。
PS这里再为大家提供几款相关工具供大家参考使用
在线去除重复项工具
在线文本去重复工具
更多关于JavaScript相关内容还可查看本站专题《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程