JavaScript数组去重
来源:互联网 发布:太仓cnc编程招聘 编辑:程序博客网 时间:2024/06/06 08:20
/** * 数组去重方法思路 *方法 1:新建一个数组,将原数组第一个元素放入, *然后从原数组第二个元素开始与新数组内元素比较,相同则放弃,不同则加入新数组 */Array.prototype.unique1 = function() { var aRes = [this[0]]; var flag = false; for (var i = 1; i < this.length; i++) { for (var j = 0; j < aRes.length; j++) { if (this[i] == aRes[j]) { flag = true; break; } else { flag = false; } } if (!flag) { aRes.push(this[i]); } } return aRes;};var arr = [1, 3, 2, 1, 3, 4, 4, 6];console.log(arr.unique1());// [1, 3, 2, 4, 6]/** * 方法2:先给原数组排序,新建一个数组,将排序后的原数组第一个元素赋值给新数组 * 原数组第二个元素开始与新数组的最后一位比较,不同则添加。 * 对于要求原数组元素顺序不变的情况不适用。 */Array.prototype.unique2 = function() { this.sort(); var aRes = [this[0]]; for (var i = 1; i < this.length; i++) { if (this[i] !== aRes[aRes.length - 1]) { aRes.push(this[i]); } } return aRes;}var arr = [1, 3, 2, 1, 3, 4, 4, 6];console.log(arr.unique2());// [1, 3, 2, 4, 6]/** * 方法3:定义一个新数组,一个新对象,for循环时,每次取出一个元素与对象进行对比, * 如果这个元素不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的一个属性。 */Array.prototype.unique3 = function() { var aRes = []; var oTemp = {}; for (var i = 0; i < this.length; i++) { if (!oTemp[this[i]]) { aRes.push(this[i]); oTemp[this[i]] = 1; } } return aRes}var arr = [1, 3, 2, 1, 3, 4, 4, 6];console.log(arr.unique3());// [1, 3, 2, 4, 6]
阅读全文
0 0
- javascript数组去重
- javascript 数组去重
- javascript 数组去重
- 数组去重javascript
- javascript数组去重
- JavaScript数组去重
- JavaScript数组去重
- javascript数组去重
- JavaScript 数组去重
- javascript数组去重
- JavaScript 数组去重
- javascript 数组去重
- javascript数组去重
- JavaScript数组去重
- javascript 数组去重
- JavaScript数组去重
- JavaScript数组去重
- JavaScript数组去重
- 读书笔记之应用程序与操作系统之间的关系
- STL — 从源码层面区别map set和multiset multimap
- java中判断是否包含某个字符串 contains
- ndoe.js实战之开发微博第一讲之工具准备
- python编程:从入门到实践 第7章
- JavaScript数组去重
- win7环境变量设置
- KindEditor基本用法介绍
- HTTPS
- 序列化和反序列化方法
- Centos7.0下redis数据库的安装
- Android 开源项目,发布到 JitPack.io
- unity编辑器拓展十——用代码实现unity菜单命令
- Redis学习——Redis持久化之RDB备份方式保存数据