问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js怎么判断一个变量是map类型

发布网友 发布时间:2022-05-10 15:51

我来回答

1个回答

热心网友 时间:2022-04-22 11:28

首先js暂时还没有map类型。所以需要先自己定义一个Map类型。代码如下

function Map () {
   /**
    * 结构
    * @param key
    * @param value
    */
   function Struct(key,value) {
       this.key = key;
       this.value = value;
   }

   /**
    * 数据存放数组
    */
   this.arr = [];
   /**
    * 增加数据
    * @param key {String}
    * @param value {Object}
    */
   this.put = function (key,value) {
       for (var i = 0; i < this.arr.length; i++) {
           if (this.arr[i].key === key) {
               this.arr[i].value = value;
               return;
           }
       }
       this.arr[this.arr.length] = new Struct(key,value);
   };
   /**
    * 通过key获取数据
    * @param key {String}
    * @returns {Object}
    */
   this.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;
   };
   /**
    * 删除数据
    * @param key{String}
    */
   this.remove = function (key) {
       var v;
       for (var i = 0; i < this.arr.length; i++) {
           v = this.arr[i];
           if (v.key === key) {
               this.arr.splice(i,1);
               return;
           }
       }
   };
   /**
    * 是否存在key
    * @param key {String}
    * @returns {boolean}
    */
   this.containsKey = function (key) {
       var v;
       for (var i = 0; i < this.arr.length; i++) {
           v = this.arr[i];
           if (v.key === key) {
               return true;
           }
       }
       return false;
   };
   /**
    * 获取map数据量
    * @returns {Number}
    */
   this.size = function () {
       return this.arr.length;
   };
   /**
    * 判断Map是否为空
    * @returns {boolean}
    */
   this.isEmpty = function () {
       return this.arr.length <= 0;
   };
   /**
    * 全部清空
    */
   this.removeAll = function () {
       this.arr = [];
   };
}

然后放入数据再做判断

var map = new Map();
map.put("str",'aaaaaa');
console.log(map.get('str'));
//判断是否为Map类型。 instanceof
console.log(map instanceof Map);

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
刘德华《忘情水》歌词 忘情水专辑 忘情水 求 忘情水-刘德华 无损音质 华东理工大学长江学院怎么样 东华理工大学长江学院机械工程系考研情况 南昌教育学院跟东华理工大学的长江学院比哪个好? 东华理工大学和东华理工大学长江学院是同一所吗 东华理工大学长江学院考研难吗 CKC证书是啥意思? ckc康复是什么意思? 为什么有无氧运动还要吸收氧气? 什么叫整体发泡开水器 什么是无氧阈?浅析无氧阈在耐力训练中的作用 带发泡的开水器好坏 试述最大摄氧量和无氧阈值在体育运动实践中有何应用价值 无氧阈 意义 什么叫做‘无氧阈’? 如何查看javaScript中变量的类型 什么是叫 无氧域? 在javascript中检测变量类型的方法有哪些 如何辨别轩尼诗VSOP干邑白兰地3000ml 是否正品 40轩尼诗 vsop干邑白兰地3000ml多少钱一瓶 蟑螂太多,怎能消灭 被封了还能解封吗? 王四营桥附近的农商银行在哪 我的永久被封了,还能解开吗? 腊山立交桥附近哪有济南农商银行 护理专业所学课程有哪些? 中专护理专业设有哪些课程 贵州中医药大学护理学 发泡型电开水器和普通电开水器只差100元,发泡型比普通型强很多吗? 阈的强度是什么呢? 什么是发泡型热水器 开水器发泡的和节能的哪个好 什么是最大摄氧量?(以及它对于运动员的选拔和训练效果的评定有什么重要意义?忽略无氧阈和呼吸死腔 越野滑雪训练过程的控制原则是什么? 帮忙举出发展耐力的五项运动项目 和上市公司老板什么关系的亲属不能买公司股票 黑龙江少儿频道 昨天上午8点20分的中国公开课 上市公司的高层或员工和其亲属可以买自己的公司的股票吗? 亲戚是某上市公司的股东,我可以购买该上市公司的股票吗? 如何下载中国公开课视频 创业板上市公司高管及其亲属可否买卖本公司股票 公司股票为什么内部人员不能购买,那内部人员的亲属可以买吗? 请问中公直播课错过直播时间还能播放吗?免费的公开课 上市公司的股东的家属购买了该公司的股票会有什么后果? 中国公开课郑日昌观后感 即墨电信营业厅在哪? 建议妇女孕检常规检测项目免费,可行吗? 一个手机如何同时登录两个?