JavaScript数组中包含数组如何去重?
3个回答
展开全部
原生js的数组是不包含去重函数的。
可以自己编写去重函数。
下面是一个简单的例子
$.array.extend({
unique : function (fn) {
var len = this.length,
result = this.slice(0),
i, datum;
if ('function' != typeof fn) {
fn = function (item1, item2) {
return item1 === item2;
};
}
while (--len > 0) {
datum = result[len];
i = len;
while (i--) {
if (fn(datum, result[i])) {
result.splice(len, 1);
break;
}
}
}
len = this.length = result.length;
for ( i=0; i<len; i++ ) {
this[ i ] = result[ i ];
}
return this;
}
});
展开全部
1.创建一个新的数组存放结果
2.创建一个空对象
3.for循环时,每次取出一个元素与对象进行对比,如果这个元素不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的一个属性,并赋值为1,存入到第2步建立的对象中。
2.创建一个空对象
3.for循环时,每次取出一个元素与对象进行对比,如果这个元素不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的一个属性,并赋值为1,存入到第2步建立的对象中。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-01-09 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
javascript中去掉数组中的重复元素需要用循环处理。
比如定义一个数组:
var arr = [9, 9, 111, 2, 3, 4, 4, 5, 7];
调用removeDuplicates方法进行去重处理
Array.prototype.removeDuplicates = function (){
var temp=new Array();
this.sort();
for(i=0;i<this.length;i++){
if(this[i]==this[i+1]) {continue}
temp[temp.length]=this[i];
}
return temp;
}
var result =arr.removeDuplicates;
结果:[9, 111, 2, 3, 4, 5, 7]
比如定义一个数组:
var arr = [9, 9, 111, 2, 3, 4, 4, 5, 7];
调用removeDuplicates方法进行去重处理
Array.prototype.removeDuplicates = function (){
var temp=new Array();
this.sort();
for(i=0;i<this.length;i++){
if(this[i]==this[i+1]) {continue}
temp[temp.length]=this[i];
}
return temp;
}
var result =arr.removeDuplicates;
结果:[9, 111, 2, 3, 4, 5, 7]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询