js数组去重
来源:互联网 发布:飞行员知乎 编辑:程序博客网 时间:2024/05/01 14:15
//法1/*思路: 1.构建一个新的数组存放结果 2.for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比 3.若结果数组中没有该元素,则存到结果数组中*/Array.prototype.unique1 = function(){ var res = [this[0]]; for(var i = 1; i < this.length; i++){ var repeat = false; for(var j = 0; j < res.length; j++){ if(this[i] == res[j]){ repeat = true; break; } } if(!repeat){ res.push(this[i]); } } return res;}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0];console.log(arr.unique1());//法2/*思路:1.先将原数组进行排序2.检查原数组中的第i个元素 与 结果数组中的最后一个元素是否相同,因为已经排序,所以重复元素会在相邻位置3.如果不相同,则将该元素存入结果数组中【因为 去重前数组是排序的,所以去重后的数组也是排序了的】*/Array.prototype.unique2 = function(){ this.sort(); //先排序 var res = [this[0]]; for(var i = 1; i < this.length; i++){ if(this[i] !== res[res.length - 1]){ res.push(this[i]); } } return res;}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]console.log(arr.unique2());//法3/*思路:1.创建一个新的数组存放结果2.创建一个空对象3.每次从原数组中取出一个元素,然后到对象中去访问这个属性,如果能访问到值,则说明重复。*/Array.prototype.unique3 = function(){ var res = []; var json = {}; for(var i = 0; i < this.length; i++){ if(!json[this[i]]){ res.push(this[i]); json[this[i]] = 1; } } return res;}var arr = [112,112,34,'你好',112,112,34,'你好','str','str1'];console.log(arr.unique3());//法4/*思路:利用Array.prototype.indexOf,但是不支持IE-8,所以需要对indexOf处理一下*//*改造下indexOf,支持IE6-8*/var indexOf = [].indexOf ?function(arr, item) { return arr.indexOf(item);} :function indexOf(arr, item) { for (var i = 0; i < arr.length; i++) { if (arr[i] === item) { return i } } return -1;}function unique(arr) { var ret = []; for (var i = 0; i < arr.length; i++) { var item = arr[i] if (indexOf(ret, item) === -1) { ret.push(item) } } return ret;}
0 0
- JS 数组去重
- js数组去重
- js 数组去重
- js 数组去重
- js数组去重
- js 数组去重
- js数组去重
- JS 数组去重
- //js数组去重
- js-数组去重
- js数组去重
- js 数组去重
- js数组去重
- JS 数组去重
- JS 数组去重
- js数组去重
- JS 数组去重
- js数组去重
- row_number() OVER(PARTITION BY)函数介绍
- .NET/C#识别用户访问设备
- PHP导出excel方法
- [LeetCode]Find All Anagrams in a String
- 1833 解题报告 就要考试了,随手更一下。
- js数组去重
- 1201/2016上午
- 循环语句语法控制和区别
- 极光推送服务接入
- 电影: 嘲笑过片名后,我哭着看完这部片
- android开发环境搭建
- CVE-2010-2553漏洞分析
- 第十四周—数组逆序
- OPENNI实践-体感方向盘玩赛车游戏(2)