例如求var arr1 = [1]; var arr2 = [1,2];的差集
方法一:
1 array.prototype.diff = function(a) );3 };
4 [1,2].diff([1]);//[2]
方法二:
1 var isnan = number.isnan;2 var difference = function(arr1, arr2) );
7 return (found < 0 && previous.push(i), previous);
8 }, );
9 };
10 11
12 var arr1 = [1];
13 var arr2 = [1, 2];
14 15 console.log(difference(arr2, arr1)); //[ 2 ]
方法三:
1 // es6 的 set 來處理,這是真正按照數學上的集合來進行的,不會有重複元素2 var subset = function(arr1, arr2)
12 }
13 14 return subset;
15 };
16 //普通方法
17 var subset = function(arr1, arr2)
25 }
26 27 return arr;
28 };
方法四:
1 // 陣列求差值2 var arr1 = [1, 2, 4, 9, 0];
3 var arr2 = [2, 4, 7, 8];
4 5 var difference = function(arr1, arr2) else
15 });
16 17 console.log(diff.concat(tmp));
18 }
19 20 // 輸出 [ 1, 9, 0, 7, 8 ]
21 difference(arr1, arr2);
乙個JS多個陣列取交集演算法
如題,多個陣列中取交集 共同擁有元素 思路取第乙個陣列去跟每個陣列中的元素對比,同時比較資料型別有救返回沒有就返回null。下面介紹到的演算法資料格式是二維陣列如 const parentarray 11,12,343,34,432,34,4 54,3,4,5,2,52 34,2,3,23,423,...
JS兩個陣列取交集filter
關於filter的解釋,菜鳥教程這樣寫道 filter 方法建立乙個新的陣列,新陣列中的元素是通過檢查指定陣列中符合條件的所有元素。經常用來寫兩個陣列取交集的演算法 var arr1 1,5,6,4,2 var arr2 2,5,3,4 var arr3 arr1.filter function n...
VBA 字典內建2的2個陣列,
dict1.keys dict1.items 都是一維陣列 這兩種方式顯示陣列裡的元素都ok 其實陣列 陣列名,就是dict1.keys dict1.keys 所以 dict1.keys 1 dict1.keys 1 sub test dict500 dim dict1 as new diction...