JS Map 和 List 的简单实现代码

JS Map 和 List 的简单实现代码,第1张

本篇文章是对在JS中Map和List的简单实现代码进行了详细的分析介绍 需要的朋友参考下   复制代码 代码如下: /   MAP对象 实现MAP功能     接口   size()     获取MAP元素个数   isEmpty()    判断MAP是否为空   clear()     删除MAP所有元素   put(key value)   向MAP中增加元素(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 < );     };     //删除MAP所有元素     this clear = function() {         this elements = new Array();     };     //向MAP中增加元素(key value)     this put = function(_key _value) {         this elements push( {             key : _key             value : _value         });     };     //删除指定KEY的元素 成功返回True 失败返回False     this remove = function(_key) {         var bln = false;         try {             for (i = ; i < this elements length; i++) {                 if (this elements[i] key == _key) {                     this elements splice(i );                     return true;                 }             }         } catch (e) {             bln = false;         }         return bln;     };     //获取指定KEY的元素值VALUE 失败返回NULL     this get = function(_key) {         try {             for (i = ; 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 < || _index >= this elements length) {             return null;         }         return this elements[_index];     };     //判断MAP中是否含有指定KEY的元素     this containsKey = function(_key) {         var bln = false;         try {             for (i = ; 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 = ; 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 = ; 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 = ; i < this elements length; i++) {             arr push(this elements[i] key);         }         return arr;     }; } 复制代码 代码如下: /   js实现list    / function List() {     this value = [];     / 添加 /     this add = function(obj) {         return this value push(obj);     };     / 大小 /     this size = function() {         return this value length;     };     / 返回指定索引的值 /     this get = function(index) {         return this value[index];     };     / 删除指定索引的值 /     this remove = function(index) {         this value splice(index );         return this value;     };     / 删除全部值 /     this removeAll = function() {         return this value = [];     };     / 是否包含某个对象 /     this constains = function(obj) {         for ( var i in this value) {             if (obj == this value[i]) {                 return true;             } else {                 continue;             }         }         return false;     };     / 是否包含某个对象 /     this getAll = function() {         var allInfos = ;         for ( var i in this value) {             if(i != (value length )){                 allInfos += this value[i]+" ";             }else{                 allInfos += this value[i];             }         }         alert(allInfos);         return allInfos += this value[i]+" ";;     }; } lishixinzhi/Article/program/Java/JSP/201311/20400

数组没有泛型的貌似,只有集合有泛型的:List<T>和Dictionary<K,V>。

ArrayList还是数组没错,他和上两个泛型集合的区别在于,他属于弱类型集合而泛型集合属于强类型集合,懂的人可能已经知道我的意思了,就是ArrayList中存放的类型都是Object的,虽然方便,但也可能造成隐患,比如存入存取一个不同类型的值就会发生类型错误,而泛型集合是在定义时就确定类型的,List<这里定义你期望存入的类型>,这样就限制了List存取的类型,极大的避免的出错的可能性。这也是强类型集合的优势,从你新建一个类的命名空间来看,微软已经默认帮你引入了SystemCollectionGeneric,这说明微软也是希望我们多多使用泛型集合的。发言完毕,有遗漏错误请高手们指正,谢谢!祝楼主成功!

json数据格式其实就是字符串类型的键值对格式,并不适合数组传递,其实lz完全可以将数组转换成字符串格式,然后后台写个转换方法就ok了。如:

js代码

var intArray = [1,2,3,4];

var stringInt = "";

for(var i=0;i<intArraylength;i++){

stringInt = stringInt+intArray[i]+",";//连接符其实可以换的

}

stringInt = stringIntsubstring(0,stringIntlength-1);

java代码

public Object[] getArray(String stringArray){

return stringArraysplit(",");//其实这个里面还可以做很多 *** 作,封装对象,过滤,判断等等

}

以上就是关于JS Map 和 List 的简单实现代码全部的内容,包括:JS Map 和 List 的简单实现代码、js怎么获取C#后台的泛型或list、dataset、JS获取Struts2数组的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9501849.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存