/*
* 时间:2014/02/22
*/
function Map()
{
/* 定义数据结构对象*/
var struct = function (key, value)
{
var toString = function ()
{
return this.key + ':' + this.value;
}
this.key = key;
this.value = value;
this.toString = toString;
}
/*
* 创建struct对象,存放key 、value 键值对
* 将对象放入定义好的arr数组中
*/
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);
}
/* 遍历arr数组得到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;
}
/* 删除arr数组中key所对应的struct对象*/
var remove = function (key)
{
var v;
for (var i = 0; i < this.arr.length; i++)
{
v = this.arr.pop();
//pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined
if (v.key === key)
{
continue;
}
this.arr.unshift(v);
//unshift:将参数添加到原数组开头,并返回数组的长度
}
}
/* 获取集合的长度 */
var size = function ()
{
return this.arr.length;
}
/* 判读集合是否为空 */
var isEmpty = function ()
{
return this.arr.length <= 0;
}
/* 将集合中的数据已json格式输出 */
var toString = function ()
{
var string = '';
if (this.isEmpty() == false)
{
for (var i = 0; i < this.arr.length; i++)
{
if (i == 0)
{
string += this.arr[i];
}
else
{
string += ',' + this.arr[i];
}
}
}
return string;
}
/* 清空arr数组的值 */
var clear = function ()
{
this.arr.length = 0
}
/* 得到所有的key */
var getKeys = function ()
{
var keysArray = new Array();
for (var i = 0; i < this.arr.length; i++)
{
keysArray.push(this.arr[i].key);
}
return keysArray;
}
this.arr = new Array();
this.get = get;
this.put = put;
this.remove = remove;
this.size = size;
this.clear = clear;
this.getKeys = getKeys;
this.isEmpty = isEmpty;
this.toString = toString;
}
var map = new Map();
js map
最新推荐文章于 2025-05-15 01:29:42 发布