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());本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 Llama如何调用shell或者Python
- ¥20 eclipse连接sap后代码跑出来空白
- ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
- ¥15 win10权限管理,限制普通用户使用删除功能
- ¥15 minnio内存占用过大,内存没被回收(Windows环境)
- ¥65 抖音咸鱼付款链接转码支付宝
- ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
- ¥15 blast算法(相关搜索:数据库)
- ¥15 请问有人会紧聚焦相关的matlab知识嘛?
- ¥15 网络通信安全解决方案