javascript 怎样去掉 数组中重复的元素

求高手帮忙写个方法... 求高手帮忙写个方法 展开
 我来答
jsyczhanghao
2011-09-05 · TA获得超过566个赞
知道小有建树答主
回答量:226
采纳率:0%
帮助的人:270万
展开全部
//如果你的数组全部都是字符串或者数字 可以利用一种很快的方式
Object.prototype.getKeys = function(){
var t = [];
for( var i in this ){
if( this.hasOwnProperty(i) ){
t.push(i);
}
}

return t;
};

Array.prototype.unique = function(){
var t = {};
for( var i = this.length; i; --i ){
t[this[i-1]] = '';
}

return t.getKeys();
};

//如果你的数组当中有一些特殊的对象的时候
Array.prototype.unique = function(){
var t = this.sort();
for( var i = 0, j = t.length - 1; i < j; ++i ){
if( t[i] === t[i+1] ){
t.splice(i--, 1);
j--;
}
}

return t;
};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友583be65
推荐于2016-03-02 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:172
采纳率:0%
帮助的人:114万
展开全部
因为数组的长度不能变,所以要想“去掉”只能重定义一个数组
//假设oldArray为原数组,newArray为最后结果,可以做一个函数

function f(Array oldArray){
Array newArray; //目标数组

var m=oldArray.length;
for(var i=0;i<m;i++){
var flag=true;
var n=newArray.length;
for(var j=0;j<n;j++)
if(newArray[ j ] == oldArray[i])
flag=false;
if(flag)
newArray[n]=oldArray[i];
}
return newArray;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
依依家家
2011-09-05 · TA获得超过100个赞
知道答主
回答量:271
采纳率:0%
帮助的人:109万
展开全部
for循环嵌套遍历数组比较
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式