JavaScript: Get a list of elements that exist in both arrays, using a provided comparator function
JavaScript fundamental (ES6 Syntax): Exercise-209 with Solution
Common Elements by Comparator
Write a JavaScript program to get a list of elements in both arrays, using a provided comparator function.
- Use Array.prototype.filter() and Array.prototype.findIndex() in combination with the provided comparator to determine intersecting values.
Sample Solution:
JavaScript Code:
// Define a function 'intersectionWith' that computes the intersection of two arrays based on a custom comparator function
const intersectionWith = (a, b, comp) =>
a.filter(x =>
// Filter elements from array 'a' that have a matching element in array 'b' based on the custom comparator function 'comp'
b.findIndex(y => comp(x, y)) !== -1
);
// Test the 'intersectionWith' function by finding the intersection of two arrays with a custom comparator function
console.log(intersectionWith([1, 1.2, 1.5, 3, 0], [1.9, 3, 0, 3.9], (a, b) => Math.round(a) === Math.round(b)));
// Output: [1.5, 3, 0]
Output:
[1.5,3,0]
Flowchart:

Live Demo:
See the Pen javascript-basic-exercise-209-1 by w3resource (@w3resource) on CodePen.
For more Practice: Solve these Related Problems:
- Write a JavaScript program that returns a list of common elements between two arrays using a custom comparator function.
- Write a JavaScript function that compares each element of one array to every element of another using a comparator and collects matches.
- Write a JavaScript program that uses a nested loop and a comparator to identify shared elements between arrays.
- Write a JavaScript function that leverages filter and some methods with a custom comparator to find intersections.
Go to:
PREV : Check Specified Type.
NEXT : Common Elements After Mapping.
Improve this sample solution and post your code through Disqus
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.