Introduction
In this lab, we will explore how to filter out values from an array based on a given comparator function. We will use the Array.prototype.filter() and Array.prototype.findIndex() methods to achieve this. Additionally, we will learn how to use the default strict equality comparator if no comparator function is provided.
How to Filter Out Values from an Array Based on a Function
To filter out all values from an array based on a given comparator function, follow these steps:
- Open the Terminal/SSH and type
nodeto start practicing coding. - Use
Array.prototype.filter()andArray.prototype.findIndex()to find the appropriate values. - Omit the last argument,
comp, to use a default strict equality comparator. - Use the following code:
const differenceWith = (arr, val, comp = (a, b) => a === b) =>
arr.filter((a) => val.findIndex((b) => comp(a, b)) === -1);
- Test your function with the following examples:
differenceWith(
[1, 1.2, 1.5, 3, 0],
[1.9, 3, 0],
(a, b) => Math.round(a) === Math.round(b)
); // Expected output: [1, 1.2]
differenceWith([1, 1.2, 1.3], [1, 1.3, 1.5]); // Expected output: [1.2]
Summary
Congratulations! You have completed the Array Difference Based on Function lab. You can practice more labs in LabEx to improve your skills.