<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<script type="text/javascript">
Array.prototype.get = function(val) {
for (var i = 0; i < this.length; i++) {
var map = this[i];
if(map.get('id') == val){
return map;
}
}
return "";
};
Array.prototype.indexOf = function(val) {
for (var i = 0; i < this.length; i++) {
var map = this[i];
if(map.get('id') == val){
return i;
}
}
return -1;
};
Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
function Map() {
var struct = function(key, value) {
this.key = key;
this.value = value;
}
var 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);
}
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;
}
var remove = function(key) {
var v;
for (var i = 0; i < this.arr.length; i++) {
v = this.arr.pop();
if ( v.key === key ) {
continue;
}
this.arr.unshift(v);
}
}
var size = function() {
return this.arr.length;
}
var isEmpty = function() {
return this.arr.length <= 0;
}
this.arr = new Array();
this.get = get;
this.put = put;
this.remove = remove;
this.size = size;
this.isEmpty = isEmpty;
}
/*
添加的时候 产生一个序号
公司的集合 方便增删改查get put remove
map key value 公司名称 公司的对象
1 公司的对象 map (key value) 字段名 字段属性
2 公司的对象 公司的对象
添加的时候 产生一个序号
某一个公司的人员的集合
map key value 人员的集合
1: array[,,,,,] 人员的对象 map (key value) 字段名 字段属性
*/
var companyMap = new Map();//公司情况
var com_staff_map = new Map();//公司对应人员情况
var company_map1 = new Map();//公司1
company_map1.put("id","1");
company_map1.put("company","nantian");
company_map1.put("ogcontract","wang,yue,hui");
company_map1.put("ogdateend","201212");
var company_map2 = new Map();//公司2
company_map2.put("id","2");
company_map2.put("company","haihui");
company_map2.put("ogcontract","li,zhang");
company_map2.put("ogdateend","201212");
companyMap.put("1",company_map1);
companyMap.put("2",company_map2);
com_staff_map.put("1",[]);//公司1 所对应的人员
com_staff_map.put("2",[]);//公司2 所对应的人员
var staffarray = [];
var staffmap = new Map();//人员1
staffmap.put("id","1");
staffmap.put("name","wangyuehui");
staffmap.put("seatno","12");
staffmap.put("ogdateend","201212");
staffarray.push(staffmap);
var staffmap2 = new Map();//人员2
staffmap2.put("id","2");
staffmap2.put("name","wangshuguo");
staffmap2.put("seatno","15");
staffmap2.put("ogdateend","20111110");
staffarray.push(staffmap2);
com_staff_map.put("1",staffarray);// 把人员1 2 添加到 公司1 中
//alert("companyMap的大小为:" + companyMap.size());
//alert("com_staff_map的大小为:" + com_staff_map.size());
alert("公司key为1的companyMap中存储的公司对象为:" + companyMap.get("1"));
alert("公司key为1的companyMap中存储的公司对象的名称为:" + companyMap.get("1").get("company"));
alert("公司key为2的companyMap中存储的公司对象的人员情况为:" + companyMap.get("2").get("ogcontract"));
alert("key为1的com_staff_map中存储的公司人员数据对象为:" + com_staff_map.get("1"));
alert("key为1的com_staff_map中存储的公司人员数据对象的序号为1的对象变化之前名称为:" + com_staff_map.get("1").get("1").get("name"));
com_staff_map.get("1").get("1").put("name","jkdfkjlkd");
alert("key为1的com_staff_map中存储的公司人员数据对象的序号为1的对象变化之后名称为:" + com_staff_map.get("1").get("1").get("name"));
alert("key为1的com_staff_map中存储的公司人员数据对象的序号为1的对象索引为:" + com_staff_map.get("1").indexOf("1"));
alert("key为1的com_staff_map中存储的公司人员数据对象的序号为1的删除之前的对象长度为:" + com_staff_map.get("1").length);
com_staff_map.get("1").remove("1");
alert("key为1的com_staff_map中存储的公司人员数据对象的序号为1的删除之后的对象长度为:" + com_staff_map.get("1").length );
/*
var map = new Map();
map.put("company","redhacker");
map.put("type","douguoqiang");
map.put("ogcontract","dougq");
alert("map的大小为:" + map.size())
alert("key为re的map中存储的对象为:" + map.get("re"));
map.remove("re");
alert("移除key为re的对象后,获取key为re的map中存储的对象为:" + map.get("re"));
alert("map移除一个元素后的大小为:" + map.size());
alert("map是否是一个空map:" + map.isEmpty());
*/
</script>
<body>
hello world!!!!!!!
</body>
</html>
js-map对象
最新推荐文章于 2024-08-25 10:54:04 发布