自定义Map对象
function Map(){
this.keys = new Array();
this.data = new Array();
this.put = function(key,value){
if(this.data[key] == null){
this.keys.push(value);
}
this.data[key] = value;
};
this.get = function(key){
return this.data[key];
};
this.remove = function(key){
this.keys.remove(key);
this.data[key] = null;
};
this.isEmpty = function(){
return this.keys.length == 0;
};
this.size = function(){
return this.keys.length;
};
}
使用
var map = new Map();
map.put("a",100);
var id=map.get("a");
*********************************************
Array.prototype.contains = function (elem) {
for (var i = 0; i < this.length; i++) {
if (this[i] == elem)
return true;
}
return false;
}
Array.intersect = function(a,b){
var ra = new Array();
for(var i = 0; i < a.length; i ++){
if(!b.contains(a[i]))
ra.push(a[i]);
}
return ra;
}
var leftIds=new Array();
var rightIds=new Array();
var adds=Array.intersect(leftIds,rightIds);
var dels=Array.intersect(rightIds,leftIds);
比较两个数组的差集(添加和删除的查找出来)