diff --git a/dist/relationship.js b/dist/relationship.js index 29cb82b..69717a7 100644 --- a/dist/relationship.js +++ b/dist/relationship.js @@ -876,10 +876,12 @@ //数组去重 var unique = function(arr) { var result = [], hash = {}; - for (var i = 0, elem; (elem = arr[i]) != null; i++) { - if (!hash[elem]) { - result.push(elem); - hash[elem] = true; + var item; + for (var i = 0; (item = arr[i]) != null; i++) { + var temp = item.replace(/[ol](?=s|b)/,'x').replace(/&[ol]/,''); //对特殊语法标识相互包含的行为去重 + if (!hash[item]&&!hash[temp]){ + result.push(item); + hash[item] = true; } } return result; @@ -973,7 +975,7 @@ } } getId(selector); - return result; + return unique(result); } //获取数据 diff --git a/dist/relationship.min.js b/dist/relationship.min.js index adc5784..c18ee55 100644 --- a/dist/relationship.min.js +++ b/dist/relationship.min.js @@ -1 +1 @@ -!function(s,f){"object"==typeof module&&module.exports?module.exports=f():s.relationship=f()}("undefined"!=typeof window?window:this,function(){function s(s){s=s.replace(/[二|三|四|五|六|七|八|九|十]{1,2}/g,"x");for(var f=s.split("的"),x=[],m=!0;f.length;){var b=f.shift(),d=[],h=!1;for(var l in w){var o=w[l];o.indexOf(b)>-1&&(!l&&f.length||d.push(l),h=!0)}if(h||(m=!1),x.length){for(var e=[],l=0;l-1&&(s=","+f+s),s.match(/,[w0],w|,[h1],h/))return!1;var b=function(s){var f="";if(!m[s]){m[s]=!0;var w=!0;do{f=s;for(var h in d){var l=d[h];if(s=s.replace(l.exp,l.str),s.indexOf("#")>-1){for(var o=s.split("#"),e=0;e-1?m="&l":s.indexOf("&l")>-1&&(m="&o"),s){s=s.replace(/&[ol]/g,""),f=f?1:0;var b=(","+f+","+s).replace(/,[fhs]|,[olx]b/g,",1").replace(/,[mwd]|,[olx]s/g,",0");b=b.substring(0,b.lastIndexOf(","));for(var d=s.split(",").reverse(),w=b.split(",").reverse(),h=[],l=0;l-1&&(!l&&f.length||d.push(l),h=!0)}if(h||(m=!1),x.length){for(var e=[],l=0;l-1&&(s=","+f+s),s.match(/,[w0],w|,[h1],h/))return!1;var b=function(s){var f="";if(!m[s]){m[s]=!0;var w=!0;do{f=s;for(var h in d){var l=d[h];if(s=s.replace(l.exp,l.str),s.indexOf("#")>-1){for(var o=s.split("#"),e=0;e-1?m="&l":s.indexOf("&l")>-1&&(m="&o"),s){s=s.replace(/&[ol]/g,""),f=f?1:0;var b=(","+f+","+s).replace(/,[fhs]|,[olx]b/g,",1").replace(/,[mwd]|,[olx]s/g,",0");b=b.substring(0,b.lastIndexOf(","));for(var d=s.split(",").reverse(),w=b.split(",").reverse(),h=[],l=0;l