<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> //數組判斷是否含有某個元素 Array.prototype.contains = function (obj) { var i = this.length; while (i--) { if (this[i] === obj) { return true; } } return false; } //數組去重 Array.prototype.uniquelize = function() { var ra = new Array(); for(var i = 0; i < this.length; i ++){ if(!ra.contains(this[i])){ ra.push(this[i]); } } return ra; }; //交集 Array.prototype.jiaoji = function(obj) { return this.uniquelize().filter(function(o){ return obj.contains(o) ? o : null; }); }; //差集 Array.prototype.minus = function(obj){ return this.uniquelize().filter(function(o){ return obj.contains(o) ? null : o }); }; //並集 Array.prototype.bingji = function(obj) { return this.concat(obj).uniquelize(); }; let arr1=new Array(); let arr2=new Array(); arr1=[1,2,2,3,3,4,4,5,6,7,8,9]; arr2=[1,3,5,7,9]; document.write('數組1---->'+arr1+'<br>數組2---->'+arr2); document.write('<br>'); document.write('交集是:'+arr1.jiaoji(arr2)); document.write('<br>'); document.write('差集是:'+arr1.minus(arr2)); document.write('<br>'); document.write('並集是:'+arr1.bingji(arr2)); document.write('<br>'); </script> </body> </html>
臨時寫,有問題能夠交流,對於 其餘的 餘集 補集 合集 懶得區分了 上面三種挺經常使用的,僅供參考。javascript
參照 這篇文章 其實也有其餘比較好的實現方法 https://segmentfault.com/q/10...html
以前都沒有注意到includes這個方法,參考 https://developer.mozilla.org... ,能夠直接實現判斷當前數組是否包含某指定的值。 其實我以爲我寫的contains 至關於 includes函數 ,會後我再看看java