JavaScript 对象Array,Map,Set使用

for(int i = 0 ;i 在说明每个对象的用法之前,首先说明 JavaScript 对象的使用一定要注意浏览器的兼容性问题!尤其是IE的版本!!!! }想查看具体的API请查询 JavaScript 对象 这里面有具体的API介绍!Array,Map,Set使用细则参考上面的JavaScript 对象!下面主要说一下Map!MapJavaScript 的Map

大家好,又见面了,我是全栈君。

for(int i = 0 ;i < 3 ;i++ ){ //【重点说三遍】
在说明每个对象的用法之前,首先说明 JavaScript 对象的使用一定要注意浏览器的兼容性问题!尤其是IE的版本!!!!
}

想查看具体的API请查询 JavaScript 对象 这里面有具体的API介绍!

Array,Map,Set使用细则参考上面的JavaScript 对象!下面主要说一下Map!

Map

JavaScript 的Map感觉不太好用,API也少,网上也有很多类似Map的实现,实现的方式和JAVA的MAP相似!这里就贴一个自己项目在用的封装的Map对象!

/* * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() 删除MAP所有元素 * put(key, value) 向MAP中增加元素(key, value),如果元素key存在,删除掉再添加元素(key, value) * remove(key) 删除指定KEY的元素,成功返回True,失败返回False * get(key) 获取指定KEY的元素值VALUE,失败返回NULL * element(index) 获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL * containsKey(key) 判断MAP中是否含有指定KEY的元素 * containsValue(value) 判断MAP中是否含有指定VALUE的元素 * values() 获取MAP中所有VALUE的数组(ARRAY) * keys() 获取MAP中所有KEY的数组(ARRAY) * * 例子: * var map = new Map(); * * map.put("key", "value"); * var val = map.get("key") * …… * */
function Map() { 

this.elements = new Array();
//获取MAP元素个数
this.size = function() { 

return this.elements.length;
}
//判断MAP是否为空
this.isEmpty = function() { 

return (this.elements.length < 1);
}
//删除MAP所有元素
this.clear = function() { 

this.elements = new Array();
}
//向MAP中增加元素(key, value),如果元素key存在,删除掉再添加元素(key, value)
this.put = function(_key, _value) { 

var isKey = this.containsKey(_key);
if(isKey == true)
{
this.remove(_key);
}
this.elements.push( {
key : _key,
value : _value
});
}
//删除指定KEY的元素,成功返回True,失败返回False
this.remove = function(_key) { 

var bln = false;
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
this.elements.splice(i, 1);
return true;
}
}
} catch (e) {
bln = false;
}
return bln;
}
//获取指定KEY的元素值VALUE,失败返回NULL
this.get = function(_key) { 

try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
return this.elements[i].value;
}
}
} catch (e) {
return null;
}
}
//获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL
this.element = function(_index) { 

if (_index < 0 || _index >= this.elements.length) {
return null;
}
return this.elements[_index];
}
//判断MAP中是否含有指定KEY的元素
this.containsKey = function(_key) { 

var bln = false;
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
bln = true;
}
}
} catch (e) {
bln = false;
}
return bln;
}
//判断MAP中是否含有指定VALUE的元素
this.containsValue = function(_value) { 

var bln = false;
try {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].value == _value) {
bln = true;
}
}
} catch (e) {
bln = false;
}
return bln;
}
//获取MAP中所有VALUE的数组(ARRAY)
this.values = function() { 

var arr = new Array();
for (i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].value);
}
return arr;
}
//获取MAP中所有KEY的数组(ARRAY)
this.keys = function() { 

var arr = new Array();
for (i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].key);
}
return arr;
}
}


详谈js遍历集合(Array,Map,Set)
http://www.jb51.net/article/110487.htm



如果您觉得这篇博文对你有帮助,请点个赞,谢谢!


如果帅气(美丽)、睿智(聪颖),和我一样简单善良的你看到本篇博文中存在问题,请指出,我虚心接受你让我成长的批评,谢谢阅读!
祝你今天开心愉快!


欢迎访问我的csdn博客,我们一同成长!

不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

博客首页http://blog.csdn.net/u010648555

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/121118.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 软件测试用例编写方法_接口测试用例设计思路

    软件测试用例编写方法_接口测试用例设计思路编写测试用例HttpRunnerv3.x支持三种测试用例格式pytest,YAML和JSON。官方强烈建议以pytest格式而不是以前的YAML/JSON格式编写和维护测试用例格式关系如下图所示

  • initramfs学习「建议收藏」

    initramfs学习「建议收藏」(一)helloworld一、initramfs是什么在2.6版本的linux内核中,都包含一个压缩过的cpio格式的打包文件。当内核启动时,会从这个打包文件中导出文件到内核的rootfs文件系统,然后内核检查rootfs中是否包含有init文件,如果有则执行它,作为PID为1的第一个进程。这个init进程负责启动系统后续的工作,包括定位、挂载“真正的”根文件系统设备(如果有的话)。

  • ARP–利用arpspoof和driftnet工具进行arp欺骗

    ARP–利用arpspoof和driftnet工具进行arp欺骗实验目的:1.了解ARP欺骗的原理。2.对ARP欺骗进行进一步的认识并提出防范措施。3.掌握熟悉arpspoof和driftnet的使用方法。任务与要求:1、利用arpspoof进行ARP断网攻击2.利用arpspoof工具和driftnet工具进行ARP欺骗原理:ARP(AddressResolutionProtocol)是地址解析协议,是一种将IP地址转化成物理地址的协议。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就…

  • Intel x86 Emulator Accelerator(HAXM installer)无法安装「建议收藏」

    Intel x86 Emulator Accelerator(HAXM installer)无法安装「建议收藏」在sdkmanager中Intelx86EmulatorAccelerator(HAXMinstaller)后面显示NOTcompatiblewithwindows这个时候可以尝试手动安装Intelx86EmulatorAccelerator(HAXMinstaller)1、在网上下载后,https://software.intel.com/en-us/artic…

  • 各种聚类算法(原理+代码+对比分析)最全总结「建议收藏」

    各种聚类算法(原理+代码+对比分析)最全总结「建议收藏」序言还是要持续总结,持续积累。一、聚类的目标使同一类对象的相似度尽可能地大;不同类对象之间的相似度尽可能地小。二、聚类算法分类1.基于划分给定一个有N个元组或者纪录的数据集,分裂法将构造K个分组,每一个分组就代表一个聚类,K<N。特点:计算量大。很适合发现中小规模的数据库中小规模的数据库中的球状簇。算法:K-MEANS算法、K-MEDOIDS算法、CLARANS算法2….

  • 香农编码的matlab实现总结_matlab简单代码实例

    香农编码的matlab实现总结_matlab简单代码实例用MATLAB编程实现香农编码实验四、用MATLAB编程实现香农编码⒈实验目的和要求(1)了解信源变长码的编码方法(2)掌握香农编码方法(3)掌握MATLAB的编程⒉实验主要内容使用MATLAB语言和excel对以下信源进行香农编码,并求出平均码长和编码效率。3.实验原理Ⅰ.香农编码方法将信源发出的N个消息符号按其概率的递减次序排列按下式计算第个消息的二进制代码组的码长,并取整计算第个消息的累加概…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号