var array = [1,'1',1,'1',true,'true',2,3,2];
要求结果为:[1,'1',true,'true',2,3];顺序无要求,但时间复杂度尽可能低,最好是O(n)。给出答案前千万要试运行一遍呐,网上的例子都不行。
去除js数组中的重复元素
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
_跑堂的 2011-12-17 20:36关注这个运行了是你要的结果,网上给的答案,你试试行不
var array = [1,'1',1,'1',true,'true',2,3,2];
Array.prototype.distinct = function(){
var newArr=[],obj={};
for(var i=0,len=this.length;i<len;i++){
if(!obj[typeof(this[i]) + this[i]]){
newArr.push(this[i]);
obj[typeof(this[i])+this[i]]='new';
}
}
return newArr;
};
alert(array.distinct());本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报