本文开始载入qwrap的几个hashset相关的union:
思路:
- 新建一个局部变量ra,第一个arr不动
- 遍历第二个arr2,看第一个arr是否含有相同的item,如果没有存在ra里面
- arr来concat
/** *@name union 两个数组的并集 *@param arr *@param arr2 * / union:function(arr,arr2){ //定义一个空数组 var ra = []; //按照arr2来遍历 for(var i = 0,len = arr2.length;i<len;i++){ //看arr里面是否有对应的arr2[i] if(!contains(arr,arr2[i])){ ra.push(arr2[i]); } } //arr来合并ra,并返回 return arr.concat(ra); }
测试用例:
union([1,2,3],[2,3,4,5]); //[1,2,3,4,5]