一、數組取差es6
//es6 arryMinus (arry1,arry2){ let a = new Set(arry1); let b = new Set(arry2); let difference = new Set([...a].filter(x => !b.has(x))); return Array.from(difference); } //循環 arryMinus (arry1,arry2){ var arr3 = new Array(); for(var i=0; i < arry1.length; i++){ var flag = true; for(var j=0; j < arry2.length; j++){ if(arry1[i] == arry2[j]) { flag = false; } } if(flag){ arr3.push(arry1[i]); } } return arr3; }
二、數組取交集json
//es6 arryIntersect (arr1,arr2){ // 利用set方法取交集 let a = new Set(arr1); let b = new Set(arr2); let intersect = new Set([...a].filter(x => b.has(x))); return Array.from(intersect); } arryIntersect (arr1,arr2){ //循環判斷數組a裏的元素在b裏面有沒有,有的話就放入新創建的數組中 var ai=0, bi=0; var result = new Array(); while ( ai < a.length && bi < b.length ) { if ( a[ai] < b[bi] ) { ai++; } else if ( a[ai] > b[bi] ) { bi++; } else /* they're equal */ { result.push ( a[ai] ); ai++; bi++; } } return result; }
三、數組去重數組
//es6 arryUnique (array){ // 去除數組的重複成員 return [...new Set(array)] } arryUnique (array){ var res = []; var json = {}; for(var i = 0; i < this.length; i++){ if(!json[this[i]]){ res.push(this[i]); json[this[i]] = 1; } } return res; }
二維數組轉一維數組app
// 二維數組轉爲一維數組 twoArrToOneArr(arr){ return [].concat.apply([],arr); }