js map

为了应对频繁修改SQL字段的需求,作者使用JavaScript实现了一个简单的Map插件。该插件通过自定义函数实现键值对的增删查操作,有效避免了多表关联带来的性能问题。

遇到一个非常喜欢的代码


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;
}


想到用js的map 是因为想做一个可插拔的插件。之前查询总是直接改sql 需求更多的字段时候总是多表关联。那种方法简单粗暴而且效率高。但是很多地方都引用这个sql。这样改会让速度普遍降慢。所以就想到了在js中处理

一开始只想到了用array() 后来想到了用map简直是为这个需求量身定做的


可是原生态js没有这个属性。

于是就有了上边代码

就像初学者的代码一样 很容易明白.




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值