面试前端必须准备的一个问题:怎样去掉Javascript的Array的重复项。据我所知,百度、腾讯、盛大等都在面试里出过这个题目。这个问题看起来简单,但是其实暗藏杀机。考的不仅仅是实现这个功能,更能看出你对计算机程序执行的深入理解。我总共想出了三种算法来实现这个目的:Array.prototype....
分类:
编程语言 时间:
2015-04-28 17:47:28
阅读次数:
139
JavaScript中关于数组去重复的方式很多,下面汇总了常见的几种实现方式。 1 /*实现一:基于原型扩展*/ 2 Array.prototype.removeDuplicate = function() { 3 var arrObj = {}, 4 newArr = []...
分类:
编程语言 时间:
2015-04-17 15:25:30
阅读次数:
143
Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?
For example,
Given sorted array A = [1,1,1,2,2,3],
Your function should return length = 5, and A is now [1,1,2,...
分类:
其他好文 时间:
2015-04-14 18:09:17
阅读次数:
119
problem:
Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?
For example,
Given sorted array A = [1,1,1,2,2,3],
Your function should return length = 5,
...
分类:
其他好文 时间:
2015-04-10 18:02:27
阅读次数:
99
1 Array.prototype.unique1 = function () { 2 var n = []; //一个新的临时数组 3 for (var i = 0; i < this.length; i++) //遍历当前数组 4 { 5 //如果当前数组的第i已经保存进了...
分类:
编程语言 时间:
2015-04-09 21:22:17
阅读次数:
168
好吧开始读zepto的源代码,最前面给处理trim和reduce的原生实现,感觉写的很紧凑,其中reduce写的有点晦涩,个人感觉还不错。主要zepto的作者是无分号党,看起了有点不习惯。 3 if (String.prototype.trim === undefined) // fix f...
分类:
编程语言 时间:
2015-04-06 18:38:52
阅读次数:
137
var aee3=[31,42,13,19,5,11,8,13,40,39,1,8,44,15,3];
Array.prototype.unqu2=function(){
this.sort();
var arr2=[this[0]];
for (var j = 1; j < this.length; j++) {
...
分类:
编程语言 时间:
2015-03-20 18:43:19
阅读次数:
150
Array.prototype.del = function(){
var a = {}, c = [], l = this.length;
for (var i = 0; i < l; i++){
var b = this[i];
var d = (typeof b) + b;
if(a[d] === undefined){
c...
分类:
编程语言 时间:
2015-03-18 15:54:45
阅读次数:
133
这是我目前找到的最快的方法,先用js的原生sort方法进行排序(快速排序),然后比较相邻的两个值Array.prototype.unique = function(){ this.sort(); var re=[this[0]]; for(var i = 1; i < this.length; i+...
分类:
编程语言 时间:
2015-03-10 19:05:10
阅读次数:
153