3个回答
展开全部
//如果你的数组全部都是字符串或者数字 可以利用一种很快的方式
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;
};
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;
};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为数组的长度不能变,所以要想“去掉”只能重定义一个数组
//假设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;
}
//假设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;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for循环嵌套遍历数组比较
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询