JS——数组去重
来源:互联网 发布:用友软件t3标准版 编辑:程序博客网 时间:2024/06/06 03:18
1、自己写的
//去重 自己写的方法var arr=[1,'a','k',2,'e','a','e',1,2,3];Array.prototype.unique=function(){//设置全1的标志数组var arr1=new Array(this.length);for(var i=0;i<arr1.length;i++){arr1[i]=1;}var newArr=[];for(var i=0;i<arr.length-1;i++){if(arr1[i]==0)continue;for(var j=i+1;j<arr.length;j++){if(arr[i]==arr[j]){arr1[j]=0;}}}for(var i=0;i<arr1.length;i++){if(arr1[i]==1){newArr.push(arr[i]);}}return newArr;}var newArr=arr.unique();console.log(newArr);
2、差不多的笨方法
//去重var arr=[1,'a',7,2,'e',4,11,'a','e',1,2,3];Array.prototype.unique=function(){var len=this.length,newArr=[],flag=1;for(var i=0;i<len;i++,flag=1){for(var j=0;j<i;j++){if(this[i]==this[j]){flag=0;}}flag?newArr.push(this[i]):'';}return newArr;}var newArr=arr.unique();console.log(newArr);
3、利用indexOf
//去重var arr=[1,8,'a',7,2,'e',4,'a','e',1,2,3];//arr1.indexOf(arr[i]) 获得指定数组下指定的元素值的下标索引号Array.prototype.unique=function(){var arr1=[];for(var i=0;i<this.length;i++){if(arr1.indexOf(this[i])==-1){arr1.push(this[i]);}}return arr1;}var newArr=arr.unique();console.log(newArr);
4、利用键值唯一性
//去重var arr=[1,8,'a',7,2,'e','f',4,'a','e',1,2,3,77];Array.prototype.unique=function(){var arr1=[];for(var i=0;i<this.length;i++){arr1[this[i]]=1;}var newArr=[];//利用键值的唯一性for(var k in arr1){if(arr1.hasOwnProperty(k))newArr[newArr.length]=k;}return newArr;}var newArr=arr.unique();console.log(newArr);
5、利用ES6新特性set
var arr=[1,8,'a',7,2,'e','f',4,'a','e',1,2,3,77];Array.prototype.unique=function(){var set=new Set(this);var newArr=[];for(let v of set){newArr[newArr.length]=v;}return newArr;}var newArr=arr.unique();console.log(newArr);
阅读全文
0 0
- JS——数组去重
- JS算法——数组去重
- JS——数组去重
- JS 数组去重
- js数组去重
- js 数组去重
- js 数组去重
- js数组去重
- js 数组去重
- js数组去重
- JS 数组去重
- //js数组去重
- js-数组去重
- js数组去重
- js 数组去重
- js数组去重
- JS 数组去重
- JS 数组去重
- Unity(六) 使用XML/JSON/Binary数据文件封装场景以及StreamingAssets目录的安卓平台同步
- Qt -Ftp下载之修改文件属性(修改时间,访问时间)
- linaro linaro-alip login: root (automatic login)
- 有哪些纯音乐可以伴随你入眠
- 数据结构实验之排序四:寻找大富翁
- JS——数组去重
- subliem 插件
- 深入探索透视投影变换(续)
- Spring3笔记6-复习
- object detection
- 注解整理
- 设计思想学习—原型模式
- 双11稳定性负责人叔同讲述:九年双11的云化架构演进和升级
- Caused by:Export Restrictions in place