-
Notifications
You must be signed in to change notification settings - Fork 2
Algorithm Diff Two Arrays
🚩 Remember to use Read-Search-Ask
if you get stuck. Try to pair program 👥 and write your own code 📝
Check two arrays and return a new array that contains only the items that are not in either of the original arrays.
- for Loop (Devdocs)
- Array.prototype.includes (Devdocs)
- Array.prototype.filter (Devdocs)
- Array.prototype.concat (Devdocs)
Merge the list to make it easy to compare functions.
try to solve the problem now
Use filter to get the new array, you will need to create a callback function.
try to solve the problem now
The best way to go about the callback function is to check if the number from the new merged array is not in both original arrays and return it.
try to solve the problem now
Solution ahead!
function diffArray(arr1, arr2) {
var newArr = [];
// Looping through arr1 to find elements that do not exist in arr2
for (var i = 0; i < arr1.length; i++) {
if (arr2.indexOf(arr1[i]) === -1){
// Pushing the unique to arr1 elements to the newArr
newArr.push(arr1[i]);
}
}
// Looping through arr2 to find elements that do not exist in arr1
for (var j = 0; j < arr2.length; j++) {
if (arr1.indexOf(arr2[j]) === -1){
// Pushing the unique to arr2 elements to the newArr
newArr.push(arr2[j]);
}
}
return newArr;
}
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);
Read the comments in the code.
function diffArray(arr1, arr2) {
return arr1
.concat(arr2)
.filter(
item => !arr1.includes(item) || !arr2.includes(item)
)
}
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);
Explain solution here and add any relevant links
- Array.prototype.concat (Devdocs)
- Array.prototype.filter (Devdocs)
- Array.prototype.includes (Devdocs)
function diffArray(arr1, arr2) {
return arr1
.filter(el => !arr2.includes(el))
.concat(
arr2.filter(el => !arr1.includes(el))
)
}
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);
Explain solution here and add any relevant links
- Array.prototype.includes (Devdocs)
- Array.prototype.filter (Devdocs)
- Array.prototype.concat (Devdocs)
If you found this page useful, you may say thanks to the contributors by copying and pasting the following line in the main chat:
Thanks @Rafase282 @aganita @abhisekp for your help with Challenge: Diff Two Arrays
⚠️ DO NOT add solutions that are similar to any existing solutions. If you think it is similar but better, then try to merge (or replace) the existing similar solution.- Add an explanation of your solution.
- Categorize the solution in one of the following categories -- Basic, Intermediate and Advanced. 🚥
- Please add your username only if you have added any relevant main contents. (:warning: DO NOT remove any existing usernames)
See 👉
Wiki Challenge Solution Template
for reference.
Learn to code and help nonprofits. Join our open source community in 15 seconds at http://freecodecamp.com
Follow our Medium blog
Follow Quincy on Quora
Follow us on Twitter
Like us on Facebook
And be sure to click the "Star" button in the upper right of this page.
New to Free Code Camp?
JS Concepts
JS Language Reference
- arguments
- Array.prototype.filter
- Array.prototype.indexOf
- Array.prototype.map
- Array.prototype.pop
- Array.prototype.push
- Array.prototype.shift
- Array.prototype.slice
- Array.prototype.some
- Array.prototype.toString
- Boolean
- for loop
- for..in loop
- for..of loop
- String.prototype.split
- String.prototype.toLowerCase
- String.prototype.toUpperCase
- undefined
Other Links