文章标题
来源:互联网 发布:php在线客服 编辑:程序博客网 时间:2024/06/07 00:37
首先,定义一个json对象数组,这个一般是通过请求从后台取得: varlist = [{id: 11, name: qi11 },{id: 22, name: qi22 },{id: 33,name: qi33 },{id: 55, name: qi55 }, {id: 44, name: qi44 }]; 接下来,再来看看两种实现方式,个人觉得第一中用起来比较简单 (一)方式一:重新用一个属性作为数组的下标,即键 开始,定义一个存放map的集合: var mapList = [];
然后,再来遍历,
for(var o in list) {
mapList[list.id] =list;
}
这里,使用id或者name,其实都可以的,然后通过mapList直接就可以获得对于键的值了。 (二)方式二:定义一个map函数,即类,封装类似java中map接口对应于map的相关操作function Map() {this.elements = newArray();
//获取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) 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 =0; i < this.elements.length; i++) { if (this.elements.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.key ==_key) { return this.elements.value; } } } catch (e) { returnnull; }};
//获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL
this.element =function(_index) { if (_index < 0 || _index >=this.elements.length) { returnnull; } 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.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.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.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.key); } return arr;};
}
然后,创建一个map对象,
var mapList = new Map();
接下来,进行遍历想map中添加键值,
for(var o in list) {
mapList.put(list.id,list);
}
最后,就可以通过get方法获取对应键的值了。
另搜索到此种方法,暂未试验
//实现键值对
function Dictionary() {
this.data = new Array();
this.put = function(key, value) { this.data[key] = value;};this.get = function(key) { return this.data[key];};this.remove = function(key) { this.data[key] = null;};this.isEmpty = function() { return this.data.length == 0;};this.size = function() { return this.data.length;};
}
//
//function test(){
// var d = new Dictionary();
// d.put(“china”,”中国”);
// var a = d.get(“china”);
// document.write(a);
//}
//test();
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- mark-----安卓类项目产线生产测试流程总结
- 电路城(www.cirmall.com)—蓝牙控制的RGB色LED,PCB、电路图,hex文件开源分享
- eclipse的快捷键
- Ext中常用的属性
- spring hessian远程调用
- 文章标题
- 十一周—求星座
- RecyclerView使用详解(三)
- OpenLDAP服务端+PhpLdapAdmin 基本安装与配置
- Ubuntu 无线网络配置
- 为Xcode的代码编辑器自定义主题
- VS2015报错C4996处理
- Java 使用JGit获取Git代码
- 【jzoj4887】【最大匹配】【树形动态规划】