文档章节

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

零七九三
 零七九三
发布于 2016/06/08 17:31
字数 219
阅读 6
收藏 0
在项目中,我们在处理数据的时候经常需要去重复数据,以便归结或者其它:
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');这样的操作存在。类本身也是一个对象,也可以定义属性和方法:

© 著作权归作者所有

共有 人打赏支持
零七九三
粉丝 0
博文 88
码字总数 17860
作品 0
杭州
前端工程师
前端面试之JavaScript

1. JS基本的数据类型和引用类型 基本数据类型:number、string、null、undefined、boolean、symbol -- 栈 引用数据类型:object、array、function -- 堆 两种数据类型存储位置不同 原始数据类...

大灰狼的小绵羊哥哥
08/27
0
0
JavaScript继承详解(二)

文章截图 - 更好的排版 这一章我们将会重点介绍JavaScript中几个重要的属性(this、constructor、prototype), 这些属性对于我们理解如何实现JavaScript中的类和继承起着至关重要的作用。 ...

solu
2010/12/22
0
0
前端高频面试题 JavaScript篇

以下问题都来自于互联网前端面经分享,回答为笔者通过查阅资料加上自身理解总结,不保证解答的准确性,有兴趣讨论的同学可以留言或者私信讨论。 1.JS的异步机制? 2.闭包如何实现? 3.原型链、...

大雄的学习人生
06/25
0
0
js prototype的理解

prototype属性可算是JavaScript与其他面向对象语言的一大不同之处。prototype就是“一个给类的对象添加方法的方法”,使用prototype属性,可以给类动态地添加方法,以便在JavaScript中实现“...

别人说我名字很长
2014/05/15
0
0
javascript for...in

在JS中我们最常见的循环语句是循环语句,一个简单的循环语句如下: 不过在JS中还有一种非常实用的循环语句叫,通常用来遍历数组或对象的属性. 因为发现小伙伴在使用的时候经常会踩坑,这里再次强...

taadis
2017/12/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

idea 通过jpa自动生成实体类

引入jpa包 打开persistence窗口 右键选择连接数据库 如果数据库没配置,则可以在下图选项中配置 选择好数据库和实体类的生成地址

斩神魂
25分钟前
1
0
tcpdump 命令

TCPDUMP简介 tcpdump 是一个很常用的网络包分析工具,可以用来显示通过网络传输到本系统的 TCP/IP 以及其他网络的数据包。tcpdump 使用 libpcap 库来抓取网络报,这个库在几乎在所有的 Linu...

寰宇01
32分钟前
2
0
软件的Alpha、Beta、RC、GA版本的区别

Alpha:是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用。 Beta:也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。 RC:(Release Candidate) 顾名思义...

乔老哥
33分钟前
2
0
慢雾安全海贼王:从DApp亡灵军团,细说区块链安全

本文转载自微信公号“万向区块链”,为慢雾安全负责人海贼王在万向区块链实验室举办的2018上海区块链国际周-技术开放日上的演讲速记整理。 这张图总结了智能合约攻防的各个方面,分为两大部分...

万向区块链
39分钟前
13
0
Matlab编程之——卷积神经网络CNN代码解析

卷积神经网络CNN代码解析 deepLearnToolbox-master是一个深度学习matlab包,里面含有很多机器学习算法,如卷积神经网络CNN,深度信念网络DBN,自动编码AutoE ncoder(堆栈SAE,卷积CAE)的作...

酒逢知己千杯少
39分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部