【javascript】如何在Javascript中创造map对象?
2023-09-11 14:21:26 时间
在讲解这篇文章之前,我们都知道Map是一个存放键值对形式的集合,而Javascript中却没有此类型的函数API。那么能不能利用Array来存储有键值对形式的对象呢?下面将展示在JS中如何创建MAP对象。
/**
* 创建map类,用于存储键-值,一一对应起来
*/
function Map(){
/**
* 定义map类中的元素结构,并初始化
*/
var struct = function(key,value){
this.key = key;
this.value = value;
}
/**
* 定义put方法,添加元素
*/
var put = function(key,value){
for(var i = 0; i < this.arr.length; i++){ //遍历map中的所有元素
if(this.arr[i].key === key){ // 此map不能添加已经存在的元素
this.arr[i].value == value;
return false;
}
}
this.arr[this.arr.length] = new struct(key,value);
}
/**
* 定义get方法,根据key获取相应的value
*/
var get = function(key){
for(var i = 0; i < this.arr.length; i++){
if(this.arr[i].key === key){
return this.arr[i].value;
}
}
return null;
}
/**
* 定义remove方法,用于删除指定key的元素
*/
var remove = function(key){
var lastProp;
for(var i = 0; i < this.arr.length; i++){
lastProp = this.arr.pop(); //移除最后一个元素并返回该元素值
if(lastProp === key){
continue;
}
this.arr.unshift(lastProp); //将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
}
}
var size = function(){
return this.arr.length;
}
this.arr = [];
this.put = put;
this.get = get;
this.remove = remove;
this.size = size;
}
当然,Java中的Map对象是无序的键值对形式的集合,所以此对象并非真正意义上的Map对象,我们构造此对象,就是做数据载体用.合理的运用一些Javascript中的原型函数,就能构想我们想要实现的功能方法.
相关文章
- javascript - 封装ajax
- [ Javascript ] JavaScript中的定时器(Timer) 是怎样工作的!
- JavaScript - 二维数组(对象数组)中获取某个值在数组首次出现的位置下标
- Javascript 异步加载详解
- 【JavaScript】关于javascript原型的深入理解
- 【JavaScript】新浪微博ajax请求后改变地址栏url,但页面不跳转的方案解析
- 【JavaScript】重温Javascript继承机制
- 【JavaScript】Javascript中的函数声明和函数表达式
- 【JavaScript】javascript常用的东西
- JavaScript学习之路-语法
- 深入理解 JavaScript中的变量、值、传参
- 《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——第1章 变小的巨大影响1.1 移动魔力和掌上电脑
- 获取List<Map<String, Object>中Map的属性值列表,获取所有map对象的某个属性列表
- Javascript: hash tables in javascript
- JavaScript中Map和Set
- Map中使用和遍历map方法
- JavaScript初学者必看“new”
- 如何实现JavaScript的Map和Filter函数?
- 华为OD机试 - 环中最长子串(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】
- 华为OD机试 - 服务依赖(JavaScript) | 机试题算法思路 【2023】
- 按钮Button点击后页面刷新咋办?(Web;Html;Css;Javascript)
- javascript实现下拉菜单的显示与隐藏
- javascript中 关于eval的那些事
- javascript的严格模式