热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javascript数组去重函数

模样如下:Array.prototype.delrepfunction(fun){if(!fun){funfunction(d){returnd;};}varnewArr[];th

模样如下:

Array.prototype.delrep = function(fun) {
if(!fun) {
fun = function(d) {return d;};
}
var newArr = [];
this.sort(function(a, b) {
return fun(a) > fun(b) ? -1 : 1;
});
newArr.push(this[0]);
this.forEach(function(d) {
if(fun(d) != fun(newArr[0])) {
newArr.unshift(d);
}
});
return newArr;
};

1,对于基本类型数组:

[1,2,3,4,5,5,6,6,5].delrep();//输出[1, 2, 3, 4, 5, 6]

2,对于对象数组:

var data = [
{
name: "#",
value: 123
},
{
name: "bbb",
value: 234
},
{
name: "#",
value: 789
}
];
console.log(data2.delrep(function(d) {return d.name;}));
//输出[
{
name: "bbb",
value: 234
},
{
name: "#",
value: 789
}
];

自己写的供大家当工具函数使用,可能会比冒泡排序那种去重要快一些。
其中一点说明的是对于对象数组,参数是一个函数,这个函数返回用来去重的属性。

希望我的文章能帮助到你,更多资料请翻阅d3js.org,
我是朱现明,任职于精硕科技可视化部门前端开发,更多精彩的文章即将奉上.

zhuxianming@admaster.com.cn


推荐阅读
author-avatar
修成书君4212
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有