Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function diffArray(arr1, arr2) {
- var newArr = [];
- arr1.map(function(val){
- arr2.indexOf(val) < 0 ? newArr.push(val) : '';
- });
- arr2.map(function(val){
- arr1.indexOf(val) < 0 ? newArr.push(val) : '';
- });
- return newArr;
- }
- diffArray([1, 2, 3, 5, 6, 7], [1, 2, 3, 4, 5]);
- var seen = {}
- iterate all map1 values and mark is as seen
- iterate all map2 values and unmark if already seen, mark if not
- add all seen values to new array
- return array
- function diffArray(arr1, arr2) {
- var newArr = [];
- arr1.forEach(function(val){
- if(arr2.indexOf(val) < 0) newArr.push(val);
- });
- arr2.forEach(function(val){
- if(arr1.indexOf(val) < 0) newArr.push(val);
- });
- return newArr;
- }
- function diffArray(a, b) {
- return a.filter(function(val) { // reveal the unique values in a
- return b.indexOf(val) < 0;
- }.concat(b.filter(function(val) { // concat those with the unique values in b
- return a.indexOf(val) < 0;
- }
- }
- function getUniqueValues(src, other) {
- return src.filter(function(val) {
- return other.indexOf(val) < 0;
- }
- }
- function diffArr(a, b) {
- return getUniqueValues(a, b).concat(getUniqueValues(b, a));
- }
- function diffArr(a, b) {
- a.sort();
- b.sort();
- ...
- }
- function diffArray(arr1, arr2) {
- var set1 = new Set(arr1);
- var set2 = new Set(arr2);
- var arr = []
- set1.forEach(function(val) {
- if (!set2.has(val)) arr.push(val);
- });
- set2.forEach(function(val) {
- if (!set1.has(val)) arr.push(val);
- });
- return arr;
- }
- function diffArray(arr1, arr2) {
- return [...arr1.filter(el => !arr2.includes(el)), ...arr2.filter(el => !arr1.includes(el))]
- }
- diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);
- diff([1,2,3], [1,2,3,4,5]) // => [4,5]
- function diff(firstArray: any[], secondArray: any[]): any[] {
- return firstArray.concat(secondArray).filter((val) => {
- return !(firstArray.includes(val) && secondArray.includes(val));
- });
- };
Add Comment
Please, Sign In to add comment