您的位置:首页 > Web前端 > JavaScript

利用js的prototype属性给数组去重

2014-07-02 14:36 357 查看
在项目中,我们在处理数据的时候经常需要去重复数据,以便归结或者其它:
Array.prototype.distinct = function () {
var a = {}, c = [], l = this.length;
for (var i = 0; i < l; i++) {
var b = this[i];
var d = (typeof b) + b;
if (a[d] === undefined) {
c.push(b);
a[d] = 1;
}
}
return c;
}
var arr = ["白色","白色","红色","黑色","红色"];
console.log(arr.distinct());//白色, 红色, 黑色
//javascript中的prototype属性使用说明(函数功能扩展)
//此处的prototype,不是指著名的prototype.js框架,而是Javascript中的prototype属性
//Javascript中的继承一般都依赖这个特殊的属性
//在Javascript中,一切都是对象,字符串是对象,数组是对象,变量是对象,函数也是对象,
//所以才会允许['a','b','c'].push('d');这样的操作存在。类本身也是一个对象,也可以定义属性和方法:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: