//拿B的key去A中找,所以先拿到B中的第一个key循环去A中的value查找for(var i =0; i < arr.length; i++){//是否存在标记var flag =false;for(var key in hashMap){if(hashMap[key]== arr[i].key){//B中的key在A中的value能找到,则不再往下继续查找,标记等于true
flag =true;break;}}if(flag ==false){// 内层循环走完还是false,说明arr[i]中的key既不是aaa,也不是bbb,不存在则删除
arr.splice(i,1);//删了元素,后面元素会往前移,需要往前移动一下指针
i--;}}
for(var i =0; i < arr.length; i++){for(var key in hashMap){if(hashMap[key]!= arr[i].key){//不相等则删除//如果拿B中的第一个key开始循环的时候,//就发现A的value值当中不存在的话,就去删除掉,//这样不行,因为现在是B相比较A中的第一个value不存在,//不代表在后面第二个、第三个...都不存在,所以不能删除。}}}