自定义map.js法在Javacript
没有类地图的JS,只能写一个本身。以下map.js和map-util.js都自定义地图,然后选一个。你可以用它来像java新地图()和(),删除(),()等方法获得。Map.js:
函数映射(){
函数(键,值){
this.key =关键;
this.value =价值;
}
函数(键,值){
对于(var i = 0;i < this.arr.length;i++){
如果(这。ARR {我},{关键=键)
{我},ARR值=价值;
返回;
}
}
本。ARR {这。arr.length } =新结构(键,值);
}
var =函数(键){
对于(var i = 0;i < this.arr.length;i++){
如果(这。ARR {我},{关键=键)
退货。ARR值{我};
}
}
返回null;
}
var =函数(键){
var v;
对于(var i = 0;i < this.arr.length;i++){
V = this.arr.pop();
如果(v.key =键){
继续;
}
this.arr.unshift(V);
}
}
var大小=函数(){()
返回this.arr.length;
}
VaR是空的=函数(){()
返回this.arr.length < = 0;
}
this.arr =新的数组();
this.get =得到;
this.put =放;
this.remove =删除;
this.size =尺寸;
this.isempty =空;
}
map-util.js:
函数映射(){
this.elements =新的数组();
var i;
获取元素映射的数目。
this.size =函数(){
返回this.elements.length;
};
以确定是否空气 /地图
this.isempty =函数(){
返回(this.elements.length<1);
};
删除所有元素
this.clear =函数(){
this.elements =新的数组();
};
将元素添加到映射(键、值)
this.put =功能(_key,_value){
This.elements.push({
关键词:_key,
价值:_value
});
};
this.putfirst =功能(_key,_value){
无功templist = this.elements;
this.elements =新的数组();
This.elements.push({
关键词:_key,
价值:_value
});
对于(var i = 0;i < templist.length;i++){
This.elements.push(
templist {我}
);
}
}
删除键的指定元素,成功时为真,失败为false。
this.remove =功能(_key){
VaR亿=假;
{试
为(i = 0;i < this.elements.length;i++){
如果(这个元素{我}。关键= = _key){
this.elements.splice(I,1);
返回true;
}
}
} catch(e){
亿= false;
}
返回数据;
};
访问密钥值的指定元素值,失败时为null。
this.get =功能(_key){
{试
为(i = 0;i < this.elements.length;i++){
如果(这个元素{我}。关键= = _key){
返回这个元素{ } }值;
}
}
} catch(e){
返回null;
}
};
获取指定索引/元素(element.key,element.value,键和值的访问)零故障。
this.element =功能(_index){
如果(_index =这个元素。长度){
返回null;
}
返回此元素{ _index };
};
以确定它是否包含指定的映射键元素。
this.containskey =功能(_key){
VaR亿=假;
{试
为(i = 0;i < this.elements.length;i++){
如果(这个元素{我}。关键= = _key){
亿=真;
}
}
} catch(e){
亿= false;
}
返回数据;
};
以确定它是否包含指定的map 值元素。
this.containsvalue =功能(_value){
VaR亿=假;
{试
为(i = 0;i < this.elements.length;i++){
如果(这个元素{我}。值= = _value){
亿=真;
}
}
} catch(e){
亿= false;
}
返回数据;
};
获取map(数组)中所有值的数组。
this.values =函数(){
VaR ARR =新的数组();
为(i = 0;i < this.elements.length;i++){
Arr.push(这个元素{我}的价值。);
}
报酬;
};
获取所有键映射(数组)中的数组。
this.keys =函数(){
VaR ARR =新的数组();
为(i = 0;i < this.elements.length;i++){
Arr.push(这个元素{我}。关键);
}
报酬;
};
}
总结
以上是一个自定义的map.js法用javacript Xiaobian介绍对您有所帮助。如果你有任何问题,请给我留言。萧边会及时回复你。