看论坛上的一个帖子有感
来源:互联网 发布:09淘宝店 编辑:程序博客网 时间:2024/04/19 05:41
帖子地址:http://www.iteye.com/topic/1118420
简要说明一下,就是写一个javascript的方法(扩展Array的方法),用于消除array的重复元素
一般方法,复杂度为o(n^2)
Array.prototype.distinct = function() { var ret = []; for (var i = 0; i < this.length; i++) { for (var j = i+1; j < this.length;) { if (this[i].id === this[j].id) { ret.push(this.splice(j, 1)[0]); } else { j++; } } } return ret;}
回帖中,一个人提出了另外的一个办法:
Array.prototype.distinct = function(field) { var set = {}, hasField = typeof(field)!='undefined'; for(var i=this.length-1; i>=0; i--){ var obj = this[i], cacheKey = hasField ? obj[field] : obj; if(cacheKey in set){ this.splice(i, 1); continue; }else{ set[cacheKey] = null; } }}//testvar a = [{id:1, name:'aaa'}, {id:2, name:'bbb'}, {id:1, name:'ccc'}];a.distinct('id');var b = [1,2,3,'a','b',2,'b',3];b.distinct();console.debug(a);console.debug(b);
效率上有很大的提升,看来,每一段小代码都有很多值得思考的地方,作为一个程序员,对自己的代码需要有严格的要求。
- 看论坛上的一个帖子有感
- 在ourdev上看的一个帖子
- 北邮人论坛的一个帖子
- 看论坛一个帖子带来的震撼--熟悉函数多么重要(glob函数)
- 一个小公司老板的日常管理-天涯论坛上的一个帖子
- 用Perl脚本来抓去 天涯论坛 的帖子,呵呵 看帖子方便多了[网络爬虫]
- 在CSDN论坛上看到一个数据库帖子,觉得挺有意思的,特转过来跟大家分享
- scanf这个函数--论坛里的一个帖子
- 关于数据类型Char(看了论坛的帖子后自己写的)——原来一个中文字在java中也是一个char
- 我也来谈谈Delphi和Vs.net(看szy的帖子有感)
- God is Gril 帖子上看的有点感想
- 记录一下论坛的帖子
- 转另一个论坛的帖子:
- 论坛帖子的树状实现
- 看一个比较各种语言的帖子的一点看法
- 看一个比较各种语言的帖子的一点看法
- 看一个比较各种语言的帖子的一点看法
- 看一个比较各种语言的帖子的一点看法
- 营养补充
- Linux实时监控工具Nmon使用
- 从标准输入流中读取数据
- 第六届全国十佳理财师大赛全国总决赛落幕
- Oracle 操作数字的几个函数
- 看论坛上的一个帖子有感
- Android--SQLite学习及使用方法
- 【骚男崛起】女人们已无法阻止男人的妖媚了!小苏有朋遭禁播性感舞曲MV流出
- linux中的.....cp tar touch makdir
- android message机制
- java Exception 错误 转为字符串 换行
- 数组名与指针
- 使用Intel编译器(5)PGO(3)评测函数或循环执行时间(Profile Function or Loop Execution Time)
- 大相面