javascript数组去重的4个方法
2016-02-18 09:54
405 查看
Array.prototype.unique1 = function(){//有局限性,1,“1”的情况会被去重,因为存入临时对象时,数组中的值被统一转换成了字符串 var obj = {},newArr = []; for(var i=0;i<this.length;i++){ if(!obj[this[i]]){ obj[this[i]] = true; newArr.push(this[i]); } } return newArr; } /*arr = arr.unique1(); console.log(arr);*/ Array.prototype.unique2 = function(){ var newArr = []; //临时数组 for(var i=0;i<this.length;i++){ if(newArr.indexOf(this[i]) == -1){ newArr.push(this[i]); } } return newArr; } /*arr = arr.unique2(); console.log(arr);*/ Array.prototype.unique3 = function(){ var newArr = []; for(var i=0;i<this.length;i++){ if(this.indexOf(this[i]) == i){ newArr.push(this[i]); } } return newArr; } /*arr = arr.unique3(); console.log(arr);*/ Array.prototype.unique4 = function(){ //改变了数组的顺序 this.sort(); var newArr=[this[0]]; for(var i = 1; i < this.length; i++) { if( this[i] !== newArr[newArr.length-1]) { newArr.push(this[i]); } } return newArr; } arr = arr.unique4(); console.log(arr);
这四个方法思路基本都是一样的,只是写法不同
相关文章推荐
- 使用JSONP解决跨域问题的实例
- json字符串
- JSON 数据格式
- javascript window.location的用法
- javascript运动应用二
- JavaScript运动应用一
- js实现简单的省市县三级联动效果实例
- JavaScript中width和offsetWidth的区别(动画中)
- JSON
- XML、HTML、CSS与JS的区别整理
- EChars3.0学习(一)
- 关于jsp标签A跳转路径的疑惑
- jsPlumb实例
- NSDictionary to jsonString || 对象转json格式
- js多线程?
- JavaScript中OpenTextFile函数 - JavaScript手册
- JavaScript+canvas实现七色板效果实例
- javascript结合Flexbox简单实现滑动拼图游戏
- 推荐15个最好用的 JavaScript 代码压缩工具
- js金额输入规则